39     static bool executed = 
false;
 
   48         int required = MPI_THREAD_FUNNELED;
 
   50         nrn_assert(MPI_Init_thread(pargc, pargv, required, &provided) == MPI_SUCCESS);
 
   54         nrn_assert(MPI_Init(pargc, pargv) == MPI_SUCCESS);
 
   65         printf(
" num_mpi=%d\n num_omp_thread=%d\n\n", 
nrnmpi_numprocs_, omp_get_max_threads());
 
   88     MPI_Query_thread(&th);
 
   89     if (th < MPI_THREAD_FUNNELED) {
 
   91             "\n Current MPI library doesn't support MPI_THREAD_FUNNELED,\ 
   92                     \n Run without enabling multi-threading!");
 
   98     MPI_Initialized(&flag);
 
  103     MPI_Abort(MPI_COMM_WORLD, errcode);
 
  122             MPI_COMM_WORLD, MPI_COMM_TYPE_SHARED, 
nrnmpi_myid_, MPI_INFO_NULL, &local_comm);
 
  123         MPI_Comm_rank(local_comm, &local_rank);
 
  124         MPI_Comm_free(&local_comm);
 
  140             MPI_COMM_WORLD, MPI_COMM_TYPE_SHARED, 
nrnmpi_myid_, MPI_INFO_NULL, &local_comm);
 
  141         MPI_Comm_size(local_comm, &local_size);
 
  142         MPI_Comm_free(&local_comm);
 
  165     unsigned long offset = 0;
 
  166     MPI_Exscan(&length, &offset, 1, MPI_UNSIGNED_LONG, MPI_SUM, 
nrnmpi_comm);
 
  168     int op_status = MPI_File_open(
 
  169         nrnmpi_comm, filename.c_str(), MPI_MODE_CREATE | MPI_MODE_WRONLY, MPI_INFO_NULL, &fh);
 
  171         std::cerr << 
"Error while opening output file " << filename << std::endl;
 
  175     op_status = MPI_File_write_at_all(fh, offset, buffer, length, MPI_BYTE, &status);
 
  177         std::cerr << 
"Error while writing output " << std::endl;