3
import java.nio.ByteBuffer;
5
public class AdiosNoxmlTest
8
public static void main(String[] args)
10
System.out.println(">>> AdiosJava Noxml Test Drive");
12
System.out.println(">>> ADIOS NOXML API ... ");
13
Adios.MPI_Init(new String[0]);
14
long comm = Adios.MPI_COMM_WORLD();
15
int rank = Adios.MPI_Comm_rank(comm);
16
int size = Adios.MPI_Comm_size(comm);
17
System.out.println("[DEBUG] MPI rank/size = " + rank + " / " + size);
18
System.out.println("[DEBUG] MPI &comm = " + comm);
20
Adios.Init_Noxml(comm);
21
Adios.AllocateBuffer(AdiosBufferAllocWhen.NOW, 10);
23
long group_id = Adios.DeclareGroup("restart", "iter", AdiosFlag.YES);
24
Adios.SelectMethod(group_id, "MPI", "", "");
25
Adios.DefineVar(group_id, "NX", "", AdiosDatatype.INTEGER, "", "", "");
26
Adios.DefineVar(group_id, "G", "", AdiosDatatype.INTEGER, "", "", "");
27
Adios.DefineVar(group_id, "O", "", AdiosDatatype.INTEGER, "", "", "");
28
Adios.DefineVar(group_id, "temperature", "", AdiosDatatype.DOUBLE, "NX", "G", "O");
30
System.out.println(">>> ADIOS Write API ... ");
31
long adios_handle = Adios.Open ("restart", "adios_noxml.bp", "w", comm);
37
double[] t = new double[NX];
38
for (int i = 0; i < NX; i++) {
39
t[i] = rank * NX + (double) i;
42
long groupsize = 4 + 4 + 4 + 8 * (1) * (NX);
44
long adios_totalsize = Adios.SetGroupSize(adios_handle, groupsize);
46
Adios.Write (adios_handle, "NX", NX);
47
Adios.Write (adios_handle, "G", G);
48
Adios.Write (adios_handle, "O", O);
49
Adios.Write (adios_handle, "temperature", t);
50
Adios.Close (adios_handle);
52
Adios.Finalize (rank);
55
System.out.println(">>> Done.");