Tags: uhhpctools/openuh
Tags
[CAF] adding environment variable for form team algorithm
UHCAF_FORM_TEAM_ALGORITHM is added, and can take 3 values:
naive: team exchange using naive allgather algorithm
bruck: team exchange using (currently buggy) bruck algorithm
bruck2: (default) team exchange using working bruck/MPI_Allgather
When set to bruck2, if UHCAF_COLLECTIVES_MPI is also set than it will use an
MPI_Allgather when executed by the initial team. This is the fastest of all
options. The default bruck2 algorithm works, but can is rather slow and can
probably be significantly tuned.
git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4135 ead328b1-e903-0410-a19d-eacee4b031f6
[CAF] fixing --default-caf-initial-team-heap-size configure option git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4125 ead328b1-e903-0410-a19d-eacee4b031f6
updating ChangeLog for 3.0.38 git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4113 ead328b1-e903-0410-a19d-eacee4b031f6
fixing up some variable definitions in Makefile.gsetup.in All these variable definitions were inside ifdefs, but I see no reason for this. Also, updating ChangeLog-v3 for 3.0.37. git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4110 ead328b1-e903-0410-a19d-eacee4b031f6
[CAF] adding GASNET_PSHM check for use of nodeinfo_map git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4102 ead328b1-e903-0410-a19d-eacee4b031f6
[CAF] various fixes/improvements for CAF This adds a runtime environment variable UHCAF_RMA_ORDERING. The values are: * blocking: All get/put calls generated by the compiler will blocking until they globally complete, unless caf_nowait directive is used. * put_ordered: All put calls block until local completion and will remotely complete before subsequent execution of a remote get or put call. * put_image_ordered: All put calls block until local completion and will remotely complete before subsequent execution of a remote get or put call to the same image. * put_address_ordered: All put calls block until local completion and will remotely complete before subsequent execution of a remote get or put call to the same address/image. * relaxed: All get and put calls are non-blocking. The compiler (or programmer) is assumed to take care of inserting the necessary waits to abide by the ordering rules. By default, the policy used is put_address_ordered. The entails the highest overhead due to runtime checking over conflicting addresses, but it also enables a higher level of concurrency for rma operations, potentially. Other fixes includes: * Fixes for alignment of memory allocated into RMA regment. It now uses UHCAF_ALLOC_BYTE_ALIGNMENT to align allocations in the save coarray portion of the RMA segment in addition to dynamic (heap) RMA segment allocations. * Correct TY_size for coarrays in front-end. This fixes how TY_size for coarray types are set in the Fortran front-end, since the prior "fix" was did not work correctly in some cases. * Correct calculation for first stride multiplier for remote transfers. This corrects the calculation for arrays where the strides are not constants. The compiler must conservatively assume non-unit strides for correctness in this case. * Fixing some checks for dummy argument in final_arg_work in FFE. * Use comm_write_from_lcb in coarray_strided_write. When packing strided source buffer when remote-side buffer is contiguous, need to use the comm_write_from_lcb routine instead of comm_write. Contributor: Deepak git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4096 ead328b1-e903-0410-a19d-eacee4b031f6
updating ChangeLog-v3 for 3.0.34 git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4094 ead328b1-e903-0410-a19d-eacee4b031f6
[CAF] Misc. fixes for CAF The following fixes are made in this commit: - Reference to __trace_log_stream should only be made if tracing is enabled. - Fixes check that a subroutine with a coarray dummy argument has an explicit interface. This check wasn't made when the subroutine occurred before the call to it in the source file. - Fix for atomic_define statement. The program was aborting with a seg fault when it executes the atomic_define statement, because the runtime was erroneously attempting to dereference an invalid pointer value in comm_write. Also, updating ChangeLog for 3.0.33 git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4080 ead328b1-e903-0410-a19d-eacee4b031f6
adds ChangeLog and more misc. CAF fixes/improvements. This adds ChangeLog-v3. It summarizes new additions, improvements, or fixes in OpenUH at each 3.x.x release. Technical implementation details are left out (they should be provided, instead, in the commit logs). Also, some fixes for building and installing CAF: - Fixes some typos in install_compiler.sh - Adds a fix for building a CAF runtime DSO using the GASNet MPI conduit, necessary for some versions of gcc. Finally, a number of improvements/fixes in CAF front-end: - Fixing semantics for coarray argument of intrinsic procedures. The intrinsic procedures this_image, image_index, lcobound, and ucobound all may take a coarray as the first argument. This corrects the check for whether it is an actual coarray. It also converts the coarray argument to a "whole coarray" reference during the intrinsics pass, simplying the subsequent transformations needed in call list semantics. - The check for image_index that the extent of the dims argument should match the corank of the coarray argument was corrected to handle more general coarray actual arguments. - Check array conformance for result of lcobound/ucobound. For array assignment statements where the RHS contains lcobound or ucobound (with a single coarray argument), add a check to ensure that the LHS array shape conforms to the returned bounds array. This isn't already done (at compile time), because the return values are implemented as dope vectors. But we can determine what is the extent of the returned array based on the corank of the coarray argument at the compile time. This therefore allows us to do a compile-time check for array conformance of LHS and RHS. Contributor: Deepak git-svn-id: https://svn.open64.net/svnroot/open64/branches/OpenUH@4078 ead328b1-e903-0410-a19d-eacee4b031f6
PreviousNext