/** * Called when the library is loaded. Will initialize all * required field and method IDs */ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) { JNIEnv *env = NULL; if (jvm->GetEnv((void **)&env, JNI_VERSION_1_4)) { return JNI_ERR; } Logger::log(LOG_TRACE, "Initializing JCusolver\n"); jclass cls = NULL; // Initialize the JNIUtils and PointerUtils if (initJNIUtils(env) == JNI_ERR) return JNI_ERR; if (initPointerUtils(env) == JNI_ERR) return JNI_ERR; // Obtain the fieldIDs for cuComplex#x and cuComplex#y if (!init(env, cls, "jcuda/cuComplex")) return JNI_ERR; if (!init(env, cls, cuComplex_x, "x", "F")) return JNI_ERR; if (!init(env, cls, cuComplex_y, "y", "F")) return JNI_ERR; // Obtain the fieldIDs for cuDoubleComplex#x and cuDoubleComplex#y if (!init(env, cls, "jcuda/cuDoubleComplex")) return JNI_ERR; if (!init(env, cls, cuDoubleComplex_x, "x", "D")) return JNI_ERR; if (!init(env, cls, cuDoubleComplex_y, "y", "D")) return JNI_ERR; return JNI_VERSION_1_4; }
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) { JNIEnv *env = NULL; if (jvm->GetEnv((void **)&env, JNI_VERSION_1_4)) { return JNI_ERR; } Logger::log(LOG_TRACE, "Initializing JCumat\n"); jclass cls = NULL; // Initialize the JNIUtils and PointerUtils if (initJNIUtils(env) == JNI_ERR) return JNI_ERR; if (initPointerUtils(env) == JNI_ERR) return JNI_ERR; return JNI_VERSION_1_4; }
/** * Initializes JCufft and the CUDA device */ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) { JNIEnv *env = NULL; if (jvm->GetEnv((void **)&env, JNI_VERSION_1_4)) { return JNI_ERR; } Logger::log(LOG_TRACE, "Initializing JCufft\n"); jclass cls = NULL; // Initialize the JNIUtils and PointerUtils if (initJNIUtils(env) == JNI_ERR) return JNI_ERR; if (initPointerUtils(env) == JNI_ERR) return JNI_ERR; // Obtain the methodID for cufftHandle#plan if (!init(env, cls, "jcuda/jcufft/cufftHandle")) return JNI_ERR; if (!init(env, cls, cufftHandle_plan, "plan", "I")) return JNI_ERR; return JNI_VERSION_1_4; }