1
1

93 Коммитов

Автор SHA1 Сообщение Дата
KAWASHIMA Takahiro
3699ce1f75 mpi/java: Set the given error handler to Win
Probably setting `MPI_ERRORS_RETURN` is unintentional. Probably...

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2017-04-24 16:55:13 +09:00
KAWASHIMA Takahiro
8558185c85 mpi/java: Add missing Java binding methods
This commit add the following methods.

| Language-indep. notation | Java binding            |
| ------------------------ | ----------------------- |
| MPI_WIN_GET_ERRHANDLER   | mpi.Win.getErrhandler   |
| MPI_FILE_SET_ERRHANDLER  | mpi.File.setErrhandler  |
| MPI_FILE_GET_ERRHANDLER  | mpi.File.getErrhandler  |
| MPI_COMM_CALL_ERRHANDLER | mpi.Comm.callErrhandler |
| MPI_FILE_CALL_ERRHANDLER | mpi.File.callErrhandler |
| MPI_FILE_IREAD_AT_ALL    | mpi.File.iReadAtAll     |
| MPI_FILE_IWRITE_AT_ALL   | mpi.File.iWriteAtAll    |
| MPI_FILE_IREAD_ALL       | mpi.File.iReadAll       |
| MPI_FILE_IWRITE_ALL      | mpi.File.iWriteAll      |
| MPI_FILE_GET_ATOMICITY   | mpi.File.getAtomicity   |

`MPI_FILE_I{READ,WRITE}(_AT)_ALL` routines are added in MPI-3.1.
I don't know why other methods were missing.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2017-04-24 16:55:03 +09:00
Ralph Castain
1e2019ce2a Revert "Update to sync with OMPI master and cleanup to build"
This reverts commit cb55c88a8b7817d5891ff06a447ea190b0e77479.
2016-11-22 15:03:20 -08:00
Ralph Castain
cb55c88a8b Update to sync with OMPI master and cleanup to build
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2016-11-22 14:24:54 -08:00
Joshua Hursey
fc3cf994db build: Custom libmpi_FOO name fix for wrapper compilers
* In open-mpi/ompi@f6f24a4f67 I missed
   updating the library references for the wrapper compilers.
 * Fixes the CXX wrapper compiler and CXX library is renamed as needed.
 * Fixes the Java wrapper compiler and the Java library is renamed as needed.
2016-09-30 16:40:56 -05:00
Joshua Hursey
f6f24a4f67 build: Custom libmpi(_FOO) name option in configure
* Add a configure time option to rename libmpi(_FOO).*
   - `--with-libmpi-name=STRING`
 * This commit only impacts the installed libraries.
   Internal, temporary libraries have not been renamed to limit the
   scope of the patch to only what is needed.

For example:
```shell
shell$ ./configure --with-libmpi-name=wookie
...
shell$ find . -name "libmpi*"
shell$ find . -name "libwookie*"
./lib/libwookie.so.0.0.0
./lib/libwookie.so.0
./lib/libwookie.so
./lib/libwookie.la
./lib/libwookie_mpifh.so.0.0.0
./lib/libwookie_mpifh.so.0
./lib/libwookie_mpifh.so
./lib/libwookie_mpifh.la
./lib/libwookie_usempi.so.0.0.0
./lib/libwookie_usempi.so.0
./lib/libwookie_usempi.so
./lib/libwookie_usempi.la
shell$
```
2016-09-29 21:47:24 -05:00
Nathaniel Graham
5380427050 Error handling improvements
This commit improves and corrects error handling.  In
cases where existing objects are altered after a call
to ompi_java_exceptionCheck, the results of the exception
check method are checked.  In the case of an exception,
memory is cleaned up and the code returns to Java without
altering existing objects.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2016-09-08 11:25:43 -06:00
Nathaniel Graham
bb9485bcd9 Fix Java Coverity issue
Fixing a possible error that Coverity pointed out in
ompi_java_exceptionCheck.

Signed-off-by: Nathaniel Graham <nrgraham23@gmail.com>
2016-06-23 15:09:07 +02:00
Nathaniel Graham
679a66ccc8 Merge pull request #1803 from nrgraham23/jni_error_handling
Java bindings exception handling fix
2016-06-22 04:14:00 -07:00
Nathaniel Graham
88dea4e4de Java bindings exception handling fix
Fixed an error where if there were no MPI exceptions, a
JNI error could still exist and not get handled.

Signed-off-by: Nathaniel Graham <nrgraham23@gmail.com>
2016-06-21 12:40:31 +02:00
Jeff Squyres
5071602c59 PSM/PSM2: Disable signal handler hijacking by default
Per discussion on https://github.com/open-mpi/ompi/pull/1767 (and some
subsequent phone calls and off-issue email discussions), the PSM
library is hijacking signal handlers by default.  Specifically: unless
the environment variables `IPATH_NO_BACKTRACE=1` (for PSM / Intel
TrueScale) is set, the library constructor for this library will
hijack various signal handlers for the purpose of invoking its own
error reporting mechanisms.

This may be a bit *surprising*, but is not a *problem*, per se.  The
real problem is that older versions of at least the PSM library do not
unregister these signal handlers upon being unloaded from memory.
Hence, a segv can actually result in a double segv (i.e., the original
segv and then another segv when the now-non-existent signal handler is
invoked).

This PSM signal hijacking subverts Open MPI's own signal reporting
mechanism, which may be a bit surprising for some users (particularly
those who do not have Intel TrueScale).  As such, we disable it by
default so that Open MPI's own error-reporting mechanisms are used.

Additionally, there is a typo in the library destructor for the PSM2
library that may cause problems in the unloading of its signal
handlers.  This problem can be avoided by setting `HFI_NO_BACKTRACE=1`
(for PSM2 / Intel OmniPath).

This is further compounded by the fact that the PSM / PSM2 libraries
can be loaded by the OFI MTL and the usNIC BTL (because they are
loaded by libfabric), even when there is no Intel networking hardware
present.  Having the PSM/PSM2 libraries behave this way when no Intel
hardware is present is clearly undesirable (and is likely to be fixed
in future releases of the PSM/PSM2 libraries).

This commit sets the following two environment variables to disable
this behavior from the PSM/PSM2 libraries (if they are not already
set):

* IPATH_NO_BACKTRACE=1
* HFI_NO_BACKTRACE=1

If the user has set these variables before invoking Open MPI, we will
not override their values (i.e., their preferences will be honored).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-06-14 11:45:23 -07:00
Karol Mroz
f8ecdbd623 java: replace deprecated hindexed call
Signed-off-by: Karol Mroz <mroz.karol@gmail.com>
2016-04-10 19:56:22 +02:00
Gilles Gouaillardet
e918d75fae java: try do dlopen libmpi with the full path
Since OS X 10.11 (aka El Capitan) DYLD_LIBRARY_PATH is no more
propagated to children, so try to dlopen libmpi with the full path
using the directory of libmpi_java

Fixes open-mpi/ompi#1220

Thanks Alexander Daryin for reporting this
2015-12-22 11:09:46 +09:00
Nathaniel Graham
c4d70ab425 Fix Java related warnings
This commit fixes java related warnings.

Fixes #881

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-10-21 17:14:25 -07:00
Nathan Hjelm
156ce6af21 periodic whitespace purge
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-24 09:32:33 -06:00
Howard Pritchard
36d7855280 Merge pull request #763 from nrgraham23/status_x_java_bindings
Status x java bindings
2015-08-03 09:26:16 -06:00
Nathaniel Graham
17c606b35c White Space Fixes
Github revealed some wierd spacing issues.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-30 15:07:19 -06:00
Nathaniel Graham
2fecb06059 Status X Functons
Includes java bindings for MPI_GET_ELEMENTS_X and
MPI_STATUS_SET_ELEMENTS_X.  This PR also adds the
Count object which represents MPI_Count.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-30 15:00:13 -06:00
Howard Pritchard
ac4197fb1b Merge pull request #760 from nrgraham23/request_get_status_java
Java binding for MPI_REQUEST_GET_STATUS
2015-07-30 13:57:06 -06:00
Howard Pritchard
ea6f5b31fd Merge pull request #749 from nrgraham23/additional_comm_java_bindings
Additional java bindings for the Comm class
2015-07-29 16:17:54 -06:00
Nathaniel Graham
9b5786d954 Java binding for MPI_REQUEST_GET_STATUS
This adds the java binding for MPI_REQUEST_GET_STATUS.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-29 12:04:46 -06:00
Nathaniel Graham
efe69c89a7 Java bindings for Status methods
Includes java bindings for the MPI_STATUS_SET_ELEMENTS and
MPI_STATUS_SET_CANCELLED.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-29 09:47:03 -06:00
Nathaniel Graham
59c43f4669 Additional java bindings for the Comm class
Added bindings for MPI_COMM_CREATE_GROUP and MPI_COMM_DUP_WITH_INFO.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-24 16:14:35 -06:00
Howard Pritchard
5f14273e32 Merge pull request #743 from nrgraham23/java_win_name_bindings
Java bindings for window name get and set
2015-07-24 10:53:14 -06:00
Nathaniel Graham
2a156a1c2e Java bindings for window name get and set
Includes bindings for MPI_WIN_GET_NAME and MPI_WIN_SET_NAME.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-23 18:01:19 -06:00
Nathaniel Graham
a1b47a333a Java Environment Variable Bindings
Added the bindings for MPI_GET_VERSION and MPI_GET_LIBRARY_VERSION.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-23 14:52:01 -06:00
Nathaniel Graham
11e1f09c25 White space fixes
Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-21 16:39:59 -06:00
Nathaniel Graham
7548e342dd Java bindings for alltoallw functions.
Includes bindings for MPI_ALLTOALLW and MPI_IALLTOALLW.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-21 16:29:22 -06:00
Nathaniel Graham
7f6d141bd6 More one sided java bindings.
Bindings for the MPI_WIN_FLUSH_LOCAL, MPI_WIN_FLUSH_LOCAL_ALL, MPI_WIN_ALLOCATE, MPI_WIN_ALLOCATE_SHARED, and MPI_COMM_SPLIT_TYPE.  Also added several necessary constants.

Signed-off-by: Nathaniel Graham ngraham@lanl.gov
2015-07-10 11:40:18 -06:00
Nathaniel Graham
26c528a627 Copyright additions
Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-07 16:14:21 -06:00
Howard Pritchard
68c69d07ff add copyrights to changed java related files
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-07-07 16:10:58 -06:00
Nathaniel Graham
982a232955 Additional Java Bindings
Java bindings for the following functions: MPI_RACCUMULATE, MPI_GET_ACCUMULATE, MPI_RGET_ACCUMULATE, MPI_WIN_LOCK_ALL, MPI_WIN_UNLOCK_ALL, MPI_WIN_SYNC, MPI_WIN_FLUSH, MPI_WIN_FLUSH_ALL, MPI_COMPARE_AND_SWAP, and MPI_FETCH_AND_OP.  Also includes Java bindings for the Operations MPI_REPLACE and MPI_NO_OP.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-07 16:04:17 -06:00
Nathaniel Graham
bb5699e912 ompi/java: add MPI_Rget and MPI_Rput java bindings
Wrote tests for ompi tests, but will commit later.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-06-30 12:05:59 -06:00
Gilles Gouaillardet
e0dd9bd2e7 Fix java bindings disaster
that commit fixes :
- open-mpi/ompi@224f97b009
- open-mpi/ompi@ade7de549c
- open-mpi/ompi@0836344673
- open-mpi/ompi@7e0581c853
- open-mpi/ompi@d948a43993
2015-06-29 09:51:36 +09:00
Gilles Gouaillardet
7e0581c853 MPI_Win_{get,set}_info : add Java bindings 2015-06-26 15:10:15 +09:00
Gilles Gouaillardet
0836344673 MPI_Win_{attach,detach} : add Java bindings 2015-06-26 15:10:14 +09:00
Gilles Gouaillardet
ade7de549c MPI_Win_create_dynamic : add Java bindings 2015-06-26 15:10:14 +09:00
Nathan Hjelm
4d92c9989e more c99 updates
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-25 10:14:13 -06:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Howard Pritchard
224f97b009 mpi/java: suppress common symbols warning
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-06-15 17:13:40 -06:00
Ralph Castain
cfd2cc49fd Get the Java bindings to compile again - add missing header 2015-05-23 11:22:24 -07:00
Nathan Hjelm
68614a211b Merge pull request #596 from hjelmn/errorcode_fixes
Handle ompi error codes in java code and remove non-standard MPI error code from mpi.h.
2015-05-23 07:29:44 -06:00
Nathan Hjelm
163a1b4505 Remove non-standard MPI_ERR_SYSRESOURCE error code
Replaced internal usage with OMPI_ERR_OUT_OF_RESOURCE.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-05-22 19:59:37 -06:00
Nathan Hjelm
9da29c3621 java: remove debug code
Talked to @ggouaillardet about this code. It was not intended to be committed to
master. Removing to fix coverity issue.

CID 1270134 Unchecked return value

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-22 08:36:14 -06:00
Nathan Hjelm
403b3b20d7 Handle ompi error codes in java code
This commit also adds protection against negative error codes in ompi
error code functions. There is one outstanding issue. There is a
negative MPI error code defined in mpi.h. This will need to be fixed
separetely.

This commit fixes coverity IDs 1271533 and 1270156.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-21 10:39:09 -06:00
Nathan Hjelm
757c021951 Fix coverity ID 1270164
The sargs array and its elements were malloced but not freed. Note
that strings passed to NewStringUTF are copied into Java's heap and it
is the callers responsibility to free the original string.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-21 10:15:10 -06:00
Howard Pritchard
18039b34b4 ompi/java: better error message if dlopen fails
The error message emitted by ompi/java when dlopen
fails is misleading and not very informative.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-04-06 13:35:09 -06:00
Jeff Squyres
8d38ac3cee java MPI bindings: use strdup() 2015-02-25 14:21:42 -08:00
Jeff Squyres
bd99b741d2 java: update to new mpool API 2015-02-24 13:31:23 -08:00
Nathan Hjelm
ed78553512 Update opal_free_list_t usage to reflect new class interface.
Please verify your components have been updated correctly. Keep in
mind that in terms of threading:

OPAL_FREE_LIST_GET -> opal_free_list_get_st
OPAL_FREE_LIST_RETURN -> opal_free_list_return_st

I used the opal_using_threads() variant anytime it appeared multiple
threads could be operating on the free list. If this is not the case
update to _st. If multiple threads are always in use change to _mt.
2015-02-24 10:05:44 -07:00