Thanks for clarifying this Rafa -- I haven't done a good job of keeping this clear myself.

I think we're now in a position where we no longer need to generate a C+GASNet test case since GASNet already knows about the problem (sorry if I didn't make that clear in my previous mail).

But, we do need to think about how to implement a workaround in Chapel, perhaps one specific to using the ibv conduit (which we could make available to the module and runtime code if we don't already). I haven't had a chance to review the GASNet bug and workarounds yet and am not sure I'd be the best person to process that and make a recommendation anyway. Has anyone else? Is there a clear way we should proceed here?

Thanks,
-Brad




On Thu, 30 Jan 2014, Rafael Asenjo Plaza wrote:

Hi,

Let me clarify something. There are two bulkTransfer optimizations. The 
useBulkTransfer is active by default and only deals with contiguous chunks of 
data. This is the one Akihiro is using and the one that fails in his code. 
Then, we have useBulkTransferStride that is off by default and that deal with 
strided arrays. I guess Akihiro did not enable that one, but is the one used by 
Rafael Larrosa and it fails in his code. So both, useBulkTransfer and 
useBulkTransferStride, can fail due to ibv-conduit bug.

Akihiro, if your assignment had involved a non-contiguous block of memory, 
Chapel would have not triggered the BulkTransfer function. If you set 
-useBultTransferStride=true, then the assignments that can benefit from strided 
communications will rely on bulkTransferStride runtime functions.

Thanks,

Rafa.

El 30/01/2014, a las 11:39, rafael <[email protected]> escribió:

Hi,

Hi, Brad and Rafael,

Brad, thanks for your sending message to GASNet community.That's very helpful.
I'm going to try the work-arounds.

Let me ask a question about "stride" issue.
Here is part of my problematic code. If you want to see whole code, please take 
a look at my previous mail.

const zero: int(32) = 0;
var tile_array_indices = {zero..tileSize-1,zero..tileSize-1};
class Tile {
 var tile_array: [tile_array_indices] real;
}

var temp = lkji_tiles(i,j,zero).tile_array;

I would like to make sure there is no stride code in my program.

If you disable the bulkComms optimization no strided comms are used, it was 
point 1 in the list from Rafael Asenjo :

1.- Not using bulkComms optimization (-suseBulkTransferStride=false 
-suseBulkTransfer=false). —> Slower comms.

That is the faster solution, but as it said, the comms will be a lot slower. 
You only need to put those arguments :

-suseBulkTransferStride=false -suseBulkTransfer=false

when compiling with chpl.

Am I right to thinking the Chapel compiler compiles "var temp = 
lkji_tiles(i,j,zero).tile_array;" to just one contiguous bulk transfer?

__
Rafael Asenjo Plaza
Dept. Arquitectura de Computadores
Complejo Tecnologico Campus de Teatinos
E-29071 MALAGA (SPAIN)
Tel: +34 95 213 27 91
Fax: +34 95 213 27 90
http://www.ac.uma.es/~asenjo


------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to