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
Этот коммит содержится в:
родитель
6e19505028
Коммит
e0dd9bd2e7
@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
ompi_java_globals_t ompi_java = {0};
|
ompi_java_globals_t ompi_java = {0};
|
||||||
int ompi_mpi_java_eager = 65536;
|
int ompi_mpi_java_eager = 65536;
|
||||||
opal_free_list_t ompi_java_buffers = {0};
|
opal_free_list_t ompi_java_buffers = {{0}};
|
||||||
static void *libmpi = NULL;
|
static void *libmpi = NULL;
|
||||||
|
|
||||||
static void bufferConstructor(ompi_java_buffer_t *item)
|
static void bufferConstructor(ompi_java_buffer_t *item)
|
||||||
|
@ -43,7 +43,8 @@ JNIEXPORT jlong JNICALL Java_mpi_Win_createWin(
|
|||||||
return (jlong)win;
|
return (jlong)win;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jlong JNICALL Java_mpi_Win_create_dynamicWin(
|
JNIEXPORT jlong JNICALL Java_mpi_Win_createDynamicWin(
|
||||||
|
JNIEnv *env, jobject jthis,
|
||||||
jlong info, jlong comm)
|
jlong info, jlong comm)
|
||||||
{
|
{
|
||||||
MPI_Win win;
|
MPI_Win win;
|
||||||
@ -56,24 +57,22 @@ JNIEXPORT jlong JNICALL Java_mpi_Win_create_dynamicWin(
|
|||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_mpi_Win_attach(
|
JNIEXPORT void JNICALL Java_mpi_Win_attach(
|
||||||
JNIEnv *env, jobject jthis, jobject jBase,
|
JNIEnv *env, jobject jthis, jlong win, jobject jBase,
|
||||||
jint size)
|
jint size)
|
||||||
{
|
{
|
||||||
void *base = (*env)->GetDirectBufferAddress(env, jBase);
|
void *base = (*env)->GetDirectBufferAddress(env, jBase);
|
||||||
MPI_Win win;
|
|
||||||
|
|
||||||
int rc = MPI_Win_attach(win, base, (MPI_Aint)size);
|
int rc = MPI_Win_attach((MPI_Win)win, base, (MPI_Aint)size);
|
||||||
|
|
||||||
ompi_java_exceptionCheck(env, rc);
|
ompi_java_exceptionCheck(env, rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_mpi_Win_detach(
|
JNIEXPORT void JNICALL Java_mpi_Win_detach(
|
||||||
JNIEnv *env, jobject jthis, jobject jBase)
|
JNIEnv *env, jobject jthis, jlong win, jobject jBase)
|
||||||
{
|
{
|
||||||
void *base = (*env)->GetDirectBufferAddress(env, jBase);
|
void *base = (*env)->GetDirectBufferAddress(env, jBase);
|
||||||
MPI_Win win;
|
|
||||||
|
|
||||||
int rc = MPI_Win_detach(win, base);
|
int rc = MPI_Win_detach((MPI_Win)win, base);
|
||||||
|
|
||||||
ompi_java_exceptionCheck(env, rc);
|
ompi_java_exceptionCheck(env, rc);
|
||||||
}
|
}
|
||||||
|
@ -233,18 +233,6 @@ public final boolean isNull()
|
|||||||
return handle == nullHandle;
|
return handle == nullHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Java binding of {@code MPI_COMM_GET_INFO}.
|
|
||||||
* @throws MPIException
|
|
||||||
*/
|
|
||||||
public final Info getInfo() throws MPIException
|
|
||||||
{
|
|
||||||
MPI.check();
|
|
||||||
return getInfo(handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
private native void getInfo(long handle, long info) throws MPIException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Java binding of {@code MPI_COMM_SET_INFO}.
|
* Java binding of {@code MPI_COMM_SET_INFO}.
|
||||||
* @param info info object
|
* @param info info object
|
||||||
|
@ -76,10 +76,10 @@ private native long createWin(
|
|||||||
public Win(Info info, Comm comm)
|
public Win(Info info, Comm comm)
|
||||||
throws MPIException
|
throws MPIException
|
||||||
{
|
{
|
||||||
handle = createWinDynamic(info.handle, comm.handle);
|
handle = createDynamicWin(info.handle, comm.handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
private native long createWinDynamic(
|
private native long createDynamicWin(
|
||||||
long info, long comm)
|
long info, long comm)
|
||||||
throws MPIException;
|
throws MPIException;
|
||||||
|
|
||||||
@ -99,7 +99,8 @@ private int getBaseType(Datatype orgType, Datatype targetType)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Java binding of {@code MPI_WIN_ATTACH}.
|
* Java binding of {@code MPI_WIN_ATTACH}.
|
||||||
* @param assertion program assertion
|
* @param base initial address of window
|
||||||
|
* @param size size of window (buffer elements)
|
||||||
*/
|
*/
|
||||||
public void attach(Buffer base, int size) throws MPIException
|
public void attach(Buffer base, int size) throws MPIException
|
||||||
{
|
{
|
||||||
@ -129,7 +130,7 @@ private native void attach(long win, Buffer base, int size) throws MPIException;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Java binding of {@code MPI_WIN_DETACH}.
|
* Java binding of {@code MPI_WIN_DETACH}.
|
||||||
* @param assertion program assertion
|
* @param base initial address of window
|
||||||
*/
|
*/
|
||||||
public void detach(Buffer base) throws MPIException
|
public void detach(Buffer base) throws MPIException
|
||||||
{
|
{
|
||||||
@ -475,10 +476,10 @@ private native long free(long win) throws MPIException;
|
|||||||
public Info getInfo() throws MPIException
|
public Info getInfo() throws MPIException
|
||||||
{
|
{
|
||||||
MPI.check();
|
MPI.check();
|
||||||
return getInfo(handle);
|
return new Info(getInfo(handle));
|
||||||
}
|
}
|
||||||
|
|
||||||
private native Info getInfo(long win)
|
private native long getInfo(long win)
|
||||||
throws MPIException;
|
throws MPIException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -489,10 +490,10 @@ private native Info getInfo(long win)
|
|||||||
public void setInfo(Info info) throws MPIException
|
public void setInfo(Info info) throws MPIException
|
||||||
{
|
{
|
||||||
MPI.check();
|
MPI.check();
|
||||||
setInfo(handle, info);
|
setInfo(handle, info.handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
private native void setInfo(long win, Info info)
|
private native void setInfo(long win, long info)
|
||||||
throws MPIException;
|
throws MPIException;
|
||||||
|
|
||||||
} // Win
|
} // Win
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user