Peano
asagi_reader.h
Go to the documentation of this file.
1 #ifndef ASAGIREADER_CLASS_HEADER
2 #define ASAGIREADER_CLASS_HEADER
3 
4 #include <asagi.h>
5 #include <easi/util/AsagiReader.h>
6 
7 #ifdef WITH_ASAGI
8 
10 {
12 };
13 
14 class AsagiReader : public easi::AsagiReader{
15  private:
16  const std::string m_envPrefix;
17  public:
18  virtual ~AsagiReader(){};
19 
20  AsagiReader(const char* envPrefix) : m_envPrefix(envPrefix){}
21 
22  virtual ::asagi::Grid* open(char const* file, char const* varname) override{
23  //asagi::Grid* grid = asagi::Grid::create();
24  asagi::Grid* grid = asagi::Grid::createArray();
25  // grid->setParam(numberOfThreads());
26  grid->setParam("NUMA_COMMUNICATION", "OFF",0);
27 
28  grid->setParam("GRID", "CACHE",0);
29 
30  grid->setParam("VALUE_POSITION","VERTEX_CENTERED");
31  grid->setParam("VARIABLE",varname);
32 
33  grid->setParam("BLOCK_SIZE_0", "64",0);
34  grid->setParam("BLOCK_SIZE_1", "64",0);
35  grid->setParam("BLOCK_SIZE_2", "64",0);
36  grid->setParam("CACHE_SIZE", "128",0);
37 
38  asagi::Grid::Error err = grid->open(file);
39 
40  if(err != ::asagi::Grid::SUCCESS){
41  std::cout << "Could not open "<< file << std::endl;
42  }
43 
44  return grid;
45 }
46 
47  virtual unsigned numberOfThreads() const override { return 1; }
48 
49 };
50 
51 
52 #endif
53 #endif
NUMACache_Mode
Definition: asagi_reader.h:10
@ NUMA_ON
Definition: asagi_reader.h:11
@ NUMA_CACHE
Definition: asagi_reader.h:11
@ NUMA_OFF
Definition: asagi_reader.h:11
virtual ~AsagiReader()
Definition: asagi_reader.h:18
virtual ::asagi::Grid * open(char const *file, char const *varname) override
Definition: asagi_reader.h:22
const std::string m_envPrefix
Definition: asagi_reader.h:16
AsagiReader(const char *envPrefix)
Definition: asagi_reader.h:20
virtual unsigned numberOfThreads() const override
Definition: asagi_reader.h:47