- 30 Apr, 2015 2 commits
-
-
Jeff Hammond authored
Signed-off-by:
Junchao Zhang <jczhang@mcs.anl.gov>
-
Jeff Hammond authored
Signed-off-by:
Junchao Zhang <jczhang@mcs.anl.gov>
-
- 29 Apr, 2015 5 commits
-
-
Rob Latham authored
No reviewer
-
Rob Latham authored
see #1767 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
If the user passes the -static flag, we disable interlibrary dependencies, since the linker would pick the static versions of the libraries in that case. We are still making an assumption that the default mode of the linker is shared, and the user can specify static library builds with -static. However, this is not always true. On BG/Q, for example, the default is static. Fixes #2190. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
This includes several changes: 1. Merged WRAPPER and EXTERNAL LIBS. There is no reason to maintain two names for these flags. These are eventually appended and added to the compiler wrappers anyway. 2. Updated mpicc and friend to add the necessary flags directly instead of trying to merge these flags in configure. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
It does not make sense for the user to specify LDFLAGS/LIBS that would only be used to build the MPICH library, but not the user application. Doing do will create a false dependency of the MPICH library on these external libraries resulting in weird interactions with the user application in cases where interlibrary dependencies are not supported. We were anyway silently modifying the WRAPPER LDFLAGS/LIBS to include these anyway, so the flags themselves were weirdly screwed up. This patch simply removes them instead of pretending to allow them, but not really allowing them. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 28 Apr, 2015 4 commits
-
-
The random configuration tests revealed that MPI name publishing features could be disabled at configure time, but the test suite would still run tests for them. Signed-off-by:
Sangmin Seo <sseo@anl.gov>
-
The latest FreeBSD production release (10.1-RELEASE) does not support inter-library dependency but libtool cannot detect it correctly. This patch sets the deplibs_check_method to unknown for FreeBSD, thus all dependent shared liraries (i.e. -lpthread) can be added in mpicc. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
On FreeBSD-10.1, function hstrerror is implemented in libc but its declaration is disabled in netdb.h by default. Thus error "implicit declaration of function hstrerrori" was reported when compiling hydra. This patch adds two steps in hydra configure in order to transparently fix this issue: 1. Check if function hstrerror exists (in libc). 2. Add the declaration of hstrerror if it exists in libc but the declaration is disabled. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
- 27 Apr, 2015 5 commits
-
-
Valentin Petrov authored
MPID_nem_ofi_data_callback used to check sreq->cc in order to track progress of the RTS/CTS/DATA protocol. The was an implicit assumption that fi_tsend with RTS completes first. However this would cause a hang if fi_trecv completed earlier. The fix is: don't rely on the cc but rather check the tag bits explicitly. Note, the RTS/CTS/DATA bits are no longer accumulated (i.e., no more "wc->tag | CTS/DATA"). Signed-off-by:
Charles J Archer <charles.j.archer@intel.com>
-
Valentin Petrov authored
It uses nemesis shared memory which is already cleaned up at this stage. However, w/o any synchronization a hang in the close protocol is possible since rts/cts/data messages may be on the fly. This change fixes the issue. Signed-off-by:
Charles J Archer <charles.j.archer@intel.com>
-
Valentin Petrov authored
Signed-off-by:
Charles J Archer <charles.j.archer@intel.com>
-
Valentin Petrov authored
Signed-off-by:
Charles J Archer <charles.j.archer@intel.com>
-
Valentin Petrov authored
This patch modifies the OFI netmod to support large tag layouts, while preserving the old tag layout. OFI defines a 64 bit tag, but also provides for a 64 bit tag and immediate data. In some OFI providers, we may want to select different tag layouts. This patch currently does not query for the proper tag layout or attempt to make a choice of the optimal layout, it provides macro/templatized support for different tag formats. Additional selection criteria will be added in subsequent patches. * Tag layout is moved to a separate file. Added init_sendtag_M2, init_recvtag_M2 (M2 stands for MODE #2, i.e. the mode that uses fi_tsenddata and does not pack source into tag). * Created a template file for ofi_tagged.c Moved do_isend into template file which is included twice into ofi_tagged.c thus providing for the two versions of do_isend and do_isend_2 corresponding to the two API sets. * All send functions are available in two versions. Added macro that declares a function for the two API sets. The first set has the namings inherited from the previous netmod version. The functions of the second API set have the "_2" suffix. * Recv_posted, anysource_posted, recv_callback, ofi_probe are templatized. * ofi_tag_to_vc renamed ofi_wc_to_vc Note, for the API_SET_2 the pgid is stored in the imm data while psource and port will be packed the same way as in API_SET_1. * Adds api_set member in gl_data struct. Initialize routines based on api_set * Added RCD (RtsCtsData) protocol identifiers * Added support for OFI MEM_TAG_FORMAT * PGID placement modified Signed-off-by:
Charles J Archer <charles.j.archer@intel.com>
-
- 24 Apr, 2015 10 commits
-
-
Kenneth Raffenetti authored
The atomic datatype check macro is meant to use the datatype itself to create an error string. This removes the unused "name" argument. Fixes #1906 Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Kenneth Raffenetti authored
Tests handling of PTL_NO_SPACE scenario where the max entry_list limit is reached in the Portals4 netmod. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Pavan Balaji authored
We were originally returning "int" from these functions because the idea was that they'd never read/write more than INT_MAX. However, in the case where the upper layer passes an IOV, where the first element is smaller than INT_MAX, but the next element is larger than INT_MAX, the total number of bytes sent might be larger than INT_MAX. This was occassionally showing up as an error on Mac OS for large message communication. Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Stop unconditionally adding lib64 directories to LDFLAGS. This simplifies linker commands and removes unnecessary flags from the compile wrappers. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Contains 2 fixes: 1. Use double quotes in grep expressions so variable expansion takes place. 2. Tweak grep expressions so a substring match will not cause to new flag to be incorrectly de-duped. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
- Fixed hcoll broken by #98c76f78 commit; - Resolved warnings reported by hcoll supported code; Signed-off-by:
Igor Ivanov <Igor.Ivanov@itseez.com> Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Signed-off-by:
Igor Ivanov <Igor.Ivanov@itseez.com>
-
Pavan Balaji authored
Over time, we have disabled a number of tests. Some of these were ones that we had tickets for and some were just simply commented out before we had the xfail mechanism. This patch is semi-temporary to see where we stand with these changes and to try to see how far we can get in fixing them. This patch does not reenable the FT failures or the performance test failures. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Because the PAMI_Rput_typed / PAMI_Rget_typed are used with user defined derived types that could be freed between the time of the MPID_Put / Get and when the pami context actually executes the put or get (say in the win_fence) add a ref count to the MPID_Datatype at the time of the MPID_Put / Get and release the ref in the MPIDI_Win_DoneCB callback once the get or put has actually executed and it is ok to free the datatype. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
Rob Latham authored
Recent changes to MPI_INFO_GET will report a hard error if the info value passed in is too short. If we want to determine if a key is set or not, and don't care what it is, we'll use MPI_INFO_GET_VALUELEN. Took the opportunity to add a system-hints test to the ROMIO tests Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com> Signed-off-by:
Wei-keng Liao <wkliao@ece.northwestern.edu>
-
- 23 Apr, 2015 3 commits
-
-
Huiwei Lu authored
3.2b2 is mainly a bug fix release. Most text remains unchanged. Only the web link for changes between 3.1.3 and 3.2b2 has been changed. Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Huiwei Lu authored
ABI string remains unchanged as 3.2b1. Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Halim Amer authored
Initialize the num_queued_threads variable and updated it with the appropriate OPA operations. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
- 22 Apr, 2015 6 commits
-
-
Pavan Balaji authored
Instead of polling for an arbitrarily decided number of times in the progress engine before yielding, we now moved the yielding intelligence to the threading layer. The threading layer can keep track of other threads that are waiting to enter the critical section and only yield if another thread is waiting. In this way, if no thread is waiting to get the lock, the main thread never yields. At the same time, if another thread is waiting to get a lock, there is no delay in yielding. This change, however, introduces possible deadlocks. If a thread enters MPIDI_CH3I_progress with is_blocking unset, it may set the MPIDI_CH3I_progress_blocked flag and then will yield the critical section. Another thread may enter with is_blocking set, find the flag MPIDI_CH3I_progress_blocked set, and block in the conditional variable. The first thread will wake up and leave the progress engine without emitting any signal to wake up the second thread which may sleep forever. A simple fix is to yield the critical section only if the current thread entered the progress engine with is_blocking set. Signed-off-by:
Halim Amer <aamer@anl.gov>
-
Pavan Balaji authored
Instead of a simple thread yield, this patch adds some additional information to the yield about how many threads are waiting for it. When a thread tries to acquire a lock, they increment a counter. When a thread needs to yield, it can check this counter to see how many threads are waiting to get the lock. If there are no threads waiting, the yield can be skipped. This patch contains various changes to make that happen: 1. We modify the mutex object to maintain additional information on the number of queued threads. 2. We improve the yield call to include the unlock and lock as well, since it needs to decide whether to do the unlock/lock based on how many other threads are queued up. Signed-off-by:
Halim Amer <aamer@anl.gov>
-
Pavan Balaji authored
The nemesis progress engine was written in a way so that if one thread is inside a progress engine, other threads cannot enter the receive progress. They can enter the send progress in some cases. There doesn't seem to be a good reason for this behavior. This patch combines this so threads would simply return for nonblocking operations and wait for a signal before entering the progress engine for blocking operations. Signed-off-by:
Halim Amer <aamer@anl.gov>
-
Sangmin Seo authored
__attribute__((weak,alias())) should have function names starting with PMPI, but some MPIX functions, such as MPIX_Grequest_class_create, MPIX_Grequest_class_allocate, MPIX_Grequest_start, MPIX_Mutex_create, MPIX_Mutex_free, MPIX_Mutex_lock, and MPIX_Mutex_unlock, had the same alias names as those of original functions. This patch fixes wrong alias names in __attribute__((weak,alias())) and also fixes some wrong alias names in #pragma. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Antonio J. Pena authored
Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Kenneth Raffenetti authored
The return value of anysource_matched should be the actual result of the cancel operation. If the result is uncancelable, i.e. already matched, then CH3 will let the netmod message win and move on to the other requests in the queue. When the completion for the unsuccessfully canceled message comes in, we process it like normal. Reviewed-by:
Igor Ivanov <Igor.Ivanov@itseez.com> Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
- 21 Apr, 2015 2 commits
-
-
Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
- 20 Apr, 2015 3 commits
-
-
Min Si authored
On FreeBSD, test threads/pt2pt/multisend4 sometimes reports the segfault error when calling free function. This error only happens when the buffer size is equal to 4M bytes and every thread performs malloc/free for multiple times. This bug can be reproduced by using simple memcpy without MPI communication, thus it is considered not as a MPI bug but a bug of the thread-safe memory allocation on FreeBSD. A workaround of this bug is to move malloc-free outside the loop to avoid frequent malloc-free calls. This patch added it. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Xin Zhao authored
Signed-off-by:
Min Si <msi@il.is.s.u-tokyo.ac.jp> Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Xin Zhao authored
Here we should check if the packet type is FOP_IMMED, if so, we initialize the response packet to be FOP_RESP_IMMED. The originally code wrongly check the packet flag instead of packet type. Signed-off-by:
Min Si <msi@il.is.s.u-tokyo.ac.jp> Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-