1
1
Граф коммитов

136 Коммитов

Автор SHA1 Сообщение Дата
KAWASHIMA Takahiro
dd1b3eac1e java: Fix javadoc build failure with OpenJDK 11
OpenJDK 11 changed the default javadoc output HTML version to HTML 5
from HTML 4.01. It causes an error on building Open MPI configured
with `--enable-mpi-java` (default: disable). This fix is compatible
with older OpenJDK.

I don't know whether this problem exists with other vender's JDKs.
But this fix should be compatible with other JDKs because the new
syntax is used in other places in the same file.

Thanks to Siegmar Gross for the bug report.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
(cherry picked from commit b491b454dc)
2018-10-09 21:48:10 +09:00
Gilles Gouaillardet
05b3546151 java: do not use MPI1 deprecated subroutines
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-06-04 10:49:52 +09:00
Kurita, Takehiro
11ae771b82 java: Improve descriptions of javadoc
- Improve descriptions
- Fix some typos
- Remove MPI-1 functions and replace them with MPI-2 functions

Signed-off-by: Kurita, Takehiro <fj6370fp@aa.jp.fujitsu.com>
2018-05-31 15:02:35 +09:00
Jeff Squyres
9f21ea437c java: clean up MPI Java configury
The Java configury is split into two parts:

1. Determine if we want MPI Java bindings.
2. Find the Java compiler (and related).

This commit does a few things:

- Move the "Find the Java compiler" step from OPAL to OMPI (because
  there is no Java in OPAL, and there doesn't appear to be any
  immanent danger that there will be).
  - As a direct consequence, remove the --enable-java CLI option
    (--enable-mpi-java still remains).  Enabling the MPI Java bindings
    and enabling Java are now considered the same thing (since there
    is no Java elsewhere in the code base, the different was
    meaningless).
- Only invoke the "Find the Java compiler" step if we actually want
  the MPI Java bindings.
- A few miscellaneous Java-related cleanups in configury (E.g., change
  testing "$foo" == "1" to $foo -eq 1, etc.

This commit is mostly s/opal/ompi/gi in many places in configury and
shifting code around.  But it looks bigger than it actually is because
of two reasons:

1. Some files were renamed:
   * ompi_setup_java.m4 -> ompi_setup_mpi_java.m4 (setup MPI Java bindings)
   * opal_setup_java.m4 -> ompi_setup_java.m4 (setup Java compiler)
2. Indenting level changed in (the new) ompi_setup_java.m4.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-05-15 15:15:22 -07:00
Gilles Gouaillardet
5370586d98 configury: use javac vs javah whenever possible
javah is no more available from Java 10, so try
javac -h first (available since Java 8) and fallback on javah

Refs. open-mpi/ompi#5000

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-05 10:37:35 +09:00
Gilles Gouaillardet
132ea1a6b0 java: cleanup the list of automatically generated header files
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-05 09:27:34 +09:00
Joshua Hursey
49c40f05d4 mpi/java: Remove dlopen() workaround
* See discussion on Issue #3705 regarding why this is no longer needed.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-08-24 11:56:17 -04:00
KAWASHIMA Takahiro
63f0945dcc java: Detect the path of javadoc in configure
Without this change, the directory of `javadoc` command must be
included in the `PATH` environment variable at `make`-time.
Paths of `javac`, `javah`, and `jar` commands are detected in
`configure`. So the path of `javadoc` also should be detected.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2017-05-31 14:26:14 +09:00
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 cb55c88a8b.
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
Oscar Vega-Gisbert
891272f556 Update java paper reference.
Signed-off-by: Oscar Vega-Gisbert
2016-11-13 22:05:18 +01: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
Nathaniel Graham
97422de7a8 Code cleanup
Removing the ArrayList import which is no longer needed.
2015-08-20 12:47:01 -06:00
Nathaniel Graham
d363b5d832 Java garbage collection bugfix
This pull request adds an arraylist of type Buffer to
the Request class.  Whenever a request object is created
that has associated buffers, the buffers should be added
to this array list so the java garbage collector does
not dispose of the buffers prematurely.

This is a more robust expansion on the idea first proposed by
@ggouaillardet

Fixes #369

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-08-19 17:45:26 -06:00
Nathaniel Graham
8f4c16da27 Java null handle bugfix
A helper method in Request.java could cause a crash
if the request array that was passed contained nulls.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-08-10 15:54:36 -06:00
Nathaniel Graham
8fcc317a57 Add explicit implementation of Cloneable
Added Cloneable to the implemented interface list as per
Coverity suggestion.  The required methods were already
implemented, but it was not explicitly stated.  This is
an intent revealing change.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-08-07 12:16:06 -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
57b95fff2e Commenting fixes for Datatype.java
Some of the @code tags were incorrect.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-30 15:17:55 -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
Nathaniel Graham
f87c41e926 Fix a compile issue in MPI.java
A conflict was not fully resolved in the previous merge.  This
fixes the issue that was created.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-24 11:54:52 -06:00
Nathaniel Graham
0d7a38552e Formatting fixes for Java files.
Fixed tab indenting as well as some of the block comments
at the top of a few of the files.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-24 11:02:13 -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
Howard Pritchard
967907fea4 Merge pull request #731 from nrgraham23/alltoallw_functions
Alltoallw functions
2015-07-22 12:21:01 -06:00
Nathaniel Graham
1197d2a893 Adding missed copyrights.
I did not add the LANL copyrights to the files I touched
while fixing the javadoc errors.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-22 11:04:41 -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
6bca7486c5 Added suppression statements.
There are a few places where adding the @param for the variable
javadoc wants does not make sense, so I added suppression statements
in those areas.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-10 16:04:22 -06:00
Nathaniel Graham
580251e96a Fixes for javadoc warnings.
Added missings @params and @throws as well as adding definitions for the @throws tags.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-10 12:59:45 -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