Beispiel #1
0
JNIEXPORT jstring JNICALL Java_mpi_MPI_getLibVersionJNI(JNIEnv *env, jclass jthis)
{
	int length;
	char version[MPI_MAX_LIBRARY_VERSION_STRING];
	int rc = MPI_Get_library_version(version, &length);
	ompi_java_exceptionCheck(env, rc);

	return (*env)->NewStringUTF(env, version);
}
Beispiel #2
0
int main(int argc, char* argv[])
{
  char mpilibver_str[MPI_MAX_LIBRARY_VERSION_STRING];
  int mpilibver_len;
  MPI_Get_library_version(mpilibver_str, &mpilibver_len);
#ifdef __cplusplus
  std::puts(mpilibver_str);
#else
  puts(mpilibver_str);
#endif
  return 0;
}
Beispiel #3
0
int main(int argc, char* argv[])
{
    int rank, size, len;
    char version[MPI_MAX_LIBRARY_VERSION_STRING];

    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPI_Get_library_version(version, &len);
    printf("Hello, world, I am %d of %d, (%s, %d)\n", 
           rank, size, version, len);
    MPI_Finalize();

    return 0;
}
Beispiel #4
0
int main(int argc, char *argv[])
{
    int errs = 0, resultlen = -1;
    char version[MPI_MAX_LIBRARY_VERSION_STRING];

    MTest_Init(&argc, &argv);

    MPI_Get_library_version(version, &resultlen);
    if (resultlen < 0) {
        errs++;
        printf("Resultlen is %d\n", resultlen);
    }
    else {
        if (verbose)
            printf("%s\n", version);
    }

    MTest_Finalize(errs);
    MPI_Finalize();
    return 0;

}
Beispiel #5
0
/**
 * @brief return the MPI version, runtime if possible otherwise that used when
 *        built.
 *
 * @result description of the MPI version.
 */
const char *mpi_version(void) {
  static char version[80] = {0};

#ifdef WITH_MPI
  int std_version, std_subversion;

  /* Check that the library implements the version string routine */
#ifdef MPI_MAX_LIBRARY_VERSION_STRING
  static char lib_version[MPI_MAX_LIBRARY_VERSION_STRING] = {0};
  int len;
  MPI_Get_library_version(lib_version, &len);

  /* Find first \n and truncate string to this length, can get many lines from
   * some MPIs (MPICH). */
  char *ptr = strchr(lib_version, '\n');
  if (ptr != NULL) *ptr = '\0';

  /* Also arbitrarily truncate to keep down to one line, Open MPI,
   * check for last comma and keep to ~60 chars max. */
  strcpy(lib_version+60, "...");
  ptr = strrchr(lib_version, ',');
  if (ptr != NULL) *ptr = '\0';

#else
  /* Use autoconf guessed value. */
  static char lib_version[60] = {0};
  snprintf(lib_version, 60, "%s", SWIFT_MPI_LIBRARY);
#endif

  /* Numeric version. */
  MPI_Get_version(&std_version, &std_subversion);
  snprintf(version, 80, "%s (MPI std v%i.%i)", lib_version,
           std_version, std_subversion);
#else
  sprintf(version, "Code was not compiled with MPI support");
#endif
  return version;
}