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

Reply via email to