Hi, Thanks for your helping me to understand the problem. I think now I understand the problem correctly.
Rafael Asenjo and Rafael Larrosa. I'm pretty sure my assignment have involved a contiguous block and useBulkTransfer is active and useBulkTransferStride is not active in my chapel compiler. I just wanted to make both sure my code (useBulkTransfer) and Rafaerl Larrosa's code (useBulkTransferStride) can fail due to the ibv-conduit bug (https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=495). Brad, I also now understand we don't need to prepare C+GASNet test case because GASNet community knows the problem. Best, Akihiro On Jan 30, 2014, at 11:38 AM, Brad Chamberlain wrote: > > 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
