~ubuntu-branches/ubuntu/utopic/adios/utopic

« back to all changes in this revision

Viewing changes to wrappers/java/test/AdiosNoxmlTest.java

  • Committer: Package Import Robot
  • Author(s): Alastair McKinstry
  • Date: 2013-12-09 15:21:31 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20131209152131-jtd4fpmdv3xnunnm
Tags: 1.5.0-1
* New upstream.
* Standards-Version: 3.9.5
* Include latest config.{sub,guess} 
* New watch file.
* Create libadios-bin for binaries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import gov.ornl.ccs.*;
 
2
 
 
3
import java.nio.ByteBuffer;
 
4
 
 
5
public class AdiosNoxmlTest
 
6
{
 
7
    // The main program
 
8
    public static void main(String[] args)
 
9
    {
 
10
        System.out.println(">>> AdiosJava Noxml Test Drive");
 
11
        
 
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);
 
19
 
 
20
        Adios.Init_Noxml(comm);
 
21
        Adios.AllocateBuffer(AdiosBufferAllocWhen.NOW, 10);
 
22
 
 
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");
 
29
 
 
30
        System.out.println(">>> ADIOS Write API ... ");
 
31
        long adios_handle = Adios.Open ("restart", "adios_noxml.bp", "w", comm);
 
32
 
 
33
        int NX = 10; 
 
34
        int G = NX * size;
 
35
        int O = NX * rank;
 
36
 
 
37
        double[] t = new double[NX];
 
38
        for (int i = 0; i < NX; i++) {
 
39
            t[i] = rank * NX + (double) i;
 
40
        }
 
41
 
 
42
        long groupsize = 4 + 4 + 4 + 8 * (1) * (NX);
 
43
        
 
44
        long adios_totalsize = Adios.SetGroupSize(adios_handle, groupsize);
 
45
        
 
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);
 
51
        
 
52
        Adios.Finalize (rank);        
 
53
        Adios.MPI_Finalize();
 
54
 
 
55
        System.out.println(">>> Done.");
 
56
    }
 
57
}