Skip to content

Instantly share code, notes, and snippets.

@nariaki3551
Created July 8, 2022 12:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nariaki3551/1931c6d930ec211b9943d3e4b4d50f4e to your computer and use it in GitHub Desktop.
Save nariaki3551/1931c6d930ec211b9943d3e4b4d50f4e to your computer and use it in GitHub Desktop.
#include <iostream>
#include <vector>
#include <mpi.h>
#define DATASIZE(VariableName) std::cout << # VariableName << " " << get_datasize(VariableName) << std::endl;
int get_datasize(MPI_Datatype datatype)
{
int datasize = 0;
MPI_Type_size(datatype, &datasize);
return datasize;
}
int main( int argc, char *argv[] )
{
int size, rank;
MPI_Init( &argc, &argv );
MPI_Comm_size( MPI_COMM_WORLD, &size );
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
DATASIZE(MPI_CHAR);
DATASIZE(MPI_SHORT);
DATASIZE(MPI_INT);
DATASIZE(MPI_LONG);
DATASIZE(MPI_LONG_LONG);
DATASIZE(MPI_FLOAT);
DATASIZE(MPI_DOUBLE);
DATASIZE(MPI_LONG_DOUBLE);
DATASIZE(MPI_UNSIGNED_CHAR);
DATASIZE(MPI_UNSIGNED_SHORT);
DATASIZE(MPI_UNSIGNED);
DATASIZE(MPI_UNSIGNED_LONG);
DATASIZE(MPI_UNSIGNED_LONG_LONG);
DATASIZE(MPI_INT8_T);
DATASIZE(MPI_INT16_T);
DATASIZE(MPI_INT32_T);
DATASIZE(MPI_INT64_T);
DATASIZE(MPI_UINT8_T);
DATASIZE(MPI_UINT16_T);
DATASIZE(MPI_UINT32_T);
DATASIZE(MPI_UINT64_T);
DATASIZE(MPI_2INT);
DATASIZE(MPI_SHORT_INT);
DATASIZE(MPI_LONG_INT);
DATASIZE(MPI_FLOAT_INT);
DATASIZE(MPI_DOUBLE_INT);
DATASIZE(MPI_LONG_DOUBLE_INT);
MPI_Finalize();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment