SST/macro
ami.h
Go to the documentation of this file.
1 /*
2  * This file is part of SST/macroscale:
3  * The macroscale architecture simulator from the SST suite.
4  * Copyright (c) 2009 Sandia Corporation.
5  * This software is distributed under the BSD License.
6  * Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
7  * the U.S. Government retains certain rights in this software.
8  * For more information, see the LICENSE file in the top
9  * SST/macroscale directory.
10  */
11 
12 
13 #ifndef SSTMAC_SOFTWARE_AMI_AMI_H_INCLUDED
14 #define SSTMAC_SOFTWARE_AMI_AMI_H_INCLUDED
15 
19 
20 #include <sprockit/spkt_config.h>
21 
22 namespace sstmac {
23 namespace ami {
24 
25  enum CAT {
26  COMPUTE = 0,
27  COMM = 1,
28  DISP = 2,
29  QUERY = 3,
30  HW = 4
31  };
32 
33  enum COMM_FUNC {
34  COMM_SEND = 10101, //pretty much have to implement this one
35  };
36 
37  /** Functions that block and must complete before returning */
38  enum COMP_FUNC {
39  COMP_TIME = 67, //the basic compute-for-some-time
42  };
43 
44  /** Functions that do not block and should return asynchronously */
45  enum SERVICE_FUNC {
47  };
48 
49  const char*
50  tostr(COMP_FUNC func);
51 
52  const char*
53  tostr(SERVICE_FUNC func);
54 
55  const char*
56  tostr(COMM_FUNC func);
57 
58  const char*
59  tostr(CAT cat);
60 
61 }
62 } //end of namespace sstmac
63 
64 #if SPKT_HAVE_CPP11
65 namespace std {
66 template <>
67 struct hash<sstmac::ami::CAT> : public hash<int> { };
68 }
69 #endif
70 
71 #endif
72 
SERVICE_FUNC
Functions that do not block and should return asynchronously.
Definition: ami.h:45
COMP_FUNC
Functions that block and must complete before returning.
Definition: ami.h:38
COMM_FUNC
Definition: ami.h:33
const char * tostr(COMP_FUNC func)
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...