esiaccel 0.0.17.dev491__cp311-cp311-win_amd64.whl → 0.0.17.dev568__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of esiaccel might be problematic. Click here for more details.

Binary file
Binary file
esiaccel/bin/esiquery.exe CHANGED
Binary file
Binary file
@@ -23,6 +23,7 @@
23
23
 
24
24
  #include "esi/Context.h"
25
25
  #include "esi/Design.h"
26
+ #include "esi/Engines.h"
26
27
  #include "esi/Manifest.h"
27
28
  #include "esi/Ports.h"
28
29
  #include "esi/Services.h"
@@ -92,11 +93,6 @@ public:
92
93
  // each level of the tree.
93
94
  using ServiceTable = std::map<std::string, services::Service *>;
94
95
 
95
- /// Request the host side channel ports for a particular instance (identified
96
- /// by the AppID path). For convenience, provide the bundle type.
97
- virtual std::map<std::string, ChannelPort &>
98
- requestChannelsFor(AppIDPath, const BundleType *, const ServiceTable &) = 0;
99
-
100
96
  /// Return a pointer to the accelerator 'service' thread (or threads). If the
101
97
  /// thread(s) are not running, they will be started when this method is
102
98
  /// called. `std::thread` is used. If users don't want the runtime to spin up
@@ -126,7 +122,23 @@ public:
126
122
  /// accelerator to this connection. Returns a raw pointer to the object.
127
123
  Accelerator *takeOwnership(std::unique_ptr<Accelerator> accel);
128
124
 
125
+ /// Create a new engine for channel communication with the accelerator. The
126
+ /// default is to call the global `createEngine` to get an engine which has
127
+ /// registered itself. Individual accelerator connection backends can override
128
+ /// this to customize behavior.
129
+ virtual void createEngine(const std::string &engineTypeName, AppIDPath idPath,
130
+ const ServiceImplDetails &details,
131
+ const HWClientDetails &clients);
132
+ virtual const BundleEngineMap &getEngineMapFor(AppIDPath id) {
133
+ return clientEngines[id];
134
+ }
135
+
129
136
  protected:
137
+ /// If `createEngine` is overridden, this method should be called to register
138
+ /// the engine and all of the channels it services.
139
+ void registerEngine(AppIDPath idPath, std::unique_ptr<Engine> engine,
140
+ const HWClientDetails &clients);
141
+
130
142
  /// Called by `getServiceImpl` exclusively. It wraps the pointer returned by
131
143
  /// this in a unique_ptr and caches it. Separate this from the
132
144
  /// wrapping/caching since wrapping/caching is an implementation detail.
@@ -135,6 +147,11 @@ protected:
135
147
  const ServiceImplDetails &details,
136
148
  const HWClientDetails &clients) = 0;
137
149
 
150
+ /// Collection of owned engines.
151
+ std::map<AppIDPath, std::unique_ptr<Engine>> ownedEngines;
152
+ /// Mapping of clients to their servicing engines.
153
+ std::map<AppIDPath, BundleEngineMap> clientEngines;
154
+
138
155
  private:
139
156
  /// ESI accelerator context.
140
157
  Context &ctxt;
@@ -147,7 +147,8 @@ std::ostream &operator<<(std::ostream &, const esi::AppID &);
147
147
  //===----------------------------------------------------------------------===//
148
148
 
149
149
  namespace esi {
150
- std::string toHex(uint32_t val);
150
+ std::string toHex(void *val);
151
+ std::string toHex(uint64_t val);
151
152
  } // namespace esi
152
153
 
153
154
  #endif // ESI_COMMON_H
@@ -25,6 +25,9 @@
25
25
 
26
26
  namespace esi {
27
27
 
28
+ class ChannelPort;
29
+ using PortMap = std::map<std::string, ChannelPort &>;
30
+
28
31
  /// Unidirectional channels are the basic communication primitive between the
29
32
  /// host and accelerator. A 'ChannelPort' is the host side of a channel. It can
30
33
  /// be either read or write but not both. At this level, channels are untyped --
@@ -96,6 +99,24 @@ private:
96
99
  volatile bool connected = false;
97
100
  };
98
101
 
102
+ /// Instantiated when a backend does not know how to create a write channel.
103
+ class UnknownWriteChannelPort : public WriteChannelPort {
104
+ public:
105
+ UnknownWriteChannelPort(const Type *type, std::string errmsg)
106
+ : WriteChannelPort(type), errmsg(errmsg) {}
107
+
108
+ void connect(std::optional<unsigned> bufferSize = std::nullopt) override {
109
+ throw std::runtime_error(errmsg);
110
+ }
111
+ void write(const MessageData &) override { throw std::runtime_error(errmsg); }
112
+ bool tryWrite(const MessageData &) override {
113
+ throw std::runtime_error(errmsg);
114
+ }
115
+
116
+ protected:
117
+ std::string errmsg;
118
+ };
119
+
99
120
  /// A ChannelPort which reads data from the accelerator. It has two modes:
100
121
  /// Callback and Polling which cannot be used at the same time. The mode is set
101
122
  /// at connect() time. To change the mode, disconnect() and then connect()
@@ -178,6 +199,27 @@ protected:
178
199
  std::queue<std::promise<MessageData>> promiseQueue;
179
200
  };
180
201
 
202
+ /// Instantiated when a backend does not know how to create a read channel.
203
+ class UnknownReadChannelPort : public ReadChannelPort {
204
+ public:
205
+ UnknownReadChannelPort(const Type *type, std::string errmsg)
206
+ : ReadChannelPort(type), errmsg(errmsg) {}
207
+
208
+ void connect(std::function<bool(MessageData)> callback,
209
+ std::optional<unsigned> bufferSize = std::nullopt) override {
210
+ throw std::runtime_error(errmsg);
211
+ }
212
+ void connect(std::optional<unsigned> bufferSize = std::nullopt) override {
213
+ throw std::runtime_error(errmsg);
214
+ }
215
+ std::future<MessageData> readAsync() override {
216
+ throw std::runtime_error(errmsg);
217
+ }
218
+
219
+ protected:
220
+ std::string errmsg;
221
+ };
222
+
181
223
  /// Services provide connections to 'bundles' -- collections of named,
182
224
  /// unidirectional communication channels. This class provides access to those
183
225
  /// ChannelPorts.
@@ -190,7 +232,7 @@ public:
190
232
  }
191
233
 
192
234
  /// Construct a port.
193
- BundlePort(AppID id, std::map<std::string, ChannelPort &> channels);
235
+ BundlePort(AppID id, const BundleType *type, PortMap channels);
194
236
  virtual ~BundlePort() = default;
195
237
 
196
238
  /// Get the ID of the port.
@@ -202,9 +244,7 @@ public:
202
244
  /// ordinary users should not use. You have been warned.
203
245
  WriteChannelPort &getRawWrite(const std::string &name) const;
204
246
  ReadChannelPort &getRawRead(const std::string &name) const;
205
- const std::map<std::string, ChannelPort &> &getChannels() const {
206
- return channels;
207
- }
247
+ const PortMap &getChannels() const { return channels; }
208
248
 
209
249
  /// Cast this Bundle port to a subclass which is actually useful. Returns
210
250
  /// nullptr if the cast fails.
@@ -224,9 +264,10 @@ public:
224
264
  return result;
225
265
  }
226
266
 
227
- private:
267
+ protected:
228
268
  AppID id;
229
- std::map<std::string, ChannelPort &> channels;
269
+ const BundleType *type;
270
+ PortMap channels;
230
271
  };
231
272
 
232
273
  } // namespace esi
@@ -28,6 +28,7 @@
28
28
 
29
29
  namespace esi {
30
30
  class AcceleratorConnection;
31
+ class Engine;
31
32
  namespace services {
32
33
 
33
34
  /// Add a custom interface to a service client at a particular point in the
@@ -45,6 +46,7 @@ public:
45
46
  class Service {
46
47
  public:
47
48
  using Type = const std::type_info &;
49
+ Service(AcceleratorConnection &conn) : conn(conn) {}
48
50
  virtual ~Service() = default;
49
51
 
50
52
  virtual std::string getServiceSymbol() const = 0;
@@ -56,19 +58,21 @@ public:
56
58
  /// calling the `getService` method on `AcceleratorConnection` to get the
57
59
  /// global service, implying that the child service does not need to use the
58
60
  /// service it is replacing.
59
- virtual Service *getChildService(AcceleratorConnection *conn,
60
- Service::Type service, AppIDPath id = {},
61
+ virtual Service *getChildService(Service::Type service, AppIDPath id = {},
61
62
  std::string implName = {},
62
63
  ServiceImplDetails details = {},
63
64
  HWClientDetails clients = {});
64
65
 
65
66
  /// Get specialized port for this service to attach to the given appid path.
66
67
  /// Null returns mean nothing to attach.
67
- virtual ServicePort *getPort(AppIDPath id, const BundleType *type,
68
- const std::map<std::string, ChannelPort &> &,
69
- AcceleratorConnection &) const {
68
+ virtual BundlePort *getPort(AppIDPath id, const BundleType *type) const {
70
69
  return nullptr;
71
70
  }
71
+
72
+ AcceleratorConnection &getConnection() const { return conn; }
73
+
74
+ protected:
75
+ AcceleratorConnection &conn;
72
76
  };
73
77
 
74
78
  /// A service for which there are no standard services registered. Requires
@@ -76,13 +80,16 @@ public:
76
80
  /// the ones in StdServices.h.
77
81
  class CustomService : public Service {
78
82
  public:
79
- CustomService(AppIDPath idPath, const ServiceImplDetails &details,
83
+ CustomService(AppIDPath idPath, AcceleratorConnection &,
84
+ const ServiceImplDetails &details,
80
85
  const HWClientDetails &clients);
81
86
  virtual ~CustomService() = default;
82
87
 
83
88
  virtual std::string getServiceSymbol() const override {
84
89
  return serviceSymbol;
85
90
  }
91
+ virtual BundlePort *getPort(AppIDPath id,
92
+ const BundleType *type) const override;
86
93
 
87
94
  protected:
88
95
  std::string serviceSymbol;
@@ -92,6 +99,7 @@ protected:
92
99
  /// Information about the Accelerator system.
93
100
  class SysInfo : public Service {
94
101
  public:
102
+ using Service::Service;
95
103
  virtual ~SysInfo() = default;
96
104
 
97
105
  virtual std::string getServiceSymbol() const override;
@@ -116,9 +124,7 @@ public:
116
124
  uint32_t size;
117
125
  };
118
126
 
119
- MMIO(Context &ctxt, AppIDPath idPath, std::string implName,
120
- const ServiceImplDetails &details, const HWClientDetails &clients);
121
- MMIO() = default;
127
+ MMIO(AcceleratorConnection &, const HWClientDetails &clients);
122
128
  virtual ~MMIO() = default;
123
129
 
124
130
  /// Read a 64-bit value from the global MMIO space.
@@ -133,8 +139,7 @@ public:
133
139
 
134
140
  /// If the service is a MMIO service, return a region of the MMIO space which
135
141
  /// peers into ours.
136
- virtual Service *getChildService(AcceleratorConnection *conn,
137
- Service::Type service, AppIDPath id = {},
142
+ virtual Service *getChildService(Service::Type service, AppIDPath id = {},
138
143
  std::string implName = {},
139
144
  ServiceImplDetails details = {},
140
145
  HWClientDetails clients = {}) override;
@@ -142,9 +147,8 @@ public:
142
147
  virtual std::string getServiceSymbol() const override;
143
148
 
144
149
  /// Get a MMIO region port for a particular region descriptor.
145
- virtual ServicePort *getPort(AppIDPath id, const BundleType *type,
146
- const std::map<std::string, ChannelPort &> &,
147
- AcceleratorConnection &) const override;
150
+ virtual BundlePort *getPort(AppIDPath id,
151
+ const BundleType *type) const override;
148
152
 
149
153
  private:
150
154
  /// MMIO base address table.
@@ -195,6 +199,7 @@ class HostMem : public Service {
195
199
  public:
196
200
  static constexpr std::string_view StdName = "esi.service.std.hostmem";
197
201
 
202
+ using Service::Service;
198
203
  virtual ~HostMem() = default;
199
204
  virtual std::string getServiceSymbol() const override;
200
205
 
@@ -246,22 +251,20 @@ public:
246
251
  /// Service for calling functions.
247
252
  class FuncService : public Service {
248
253
  public:
249
- FuncService(AcceleratorConnection *acc, AppIDPath id,
250
- const std::string &implName, ServiceImplDetails details,
254
+ FuncService(AppIDPath id, AcceleratorConnection &, ServiceImplDetails details,
251
255
  HWClientDetails clients);
252
256
 
253
257
  virtual std::string getServiceSymbol() const override;
254
- virtual ServicePort *getPort(AppIDPath id, const BundleType *type,
255
- const std::map<std::string, ChannelPort &> &,
256
- AcceleratorConnection &) const override;
258
+ virtual BundlePort *getPort(AppIDPath id,
259
+ const BundleType *type) const override;
257
260
 
258
261
  /// A function call which gets attached to a service port.
259
262
  class Function : public ServicePort {
260
263
  friend class FuncService;
261
- Function(AppID id, const std::map<std::string, ChannelPort &> &channels);
264
+ using ServicePort::ServicePort;
262
265
 
263
266
  public:
264
- static Function *get(AppID id, WriteChannelPort &arg,
267
+ static Function *get(AppID id, BundleType *type, WriteChannelPort &arg,
265
268
  ReadChannelPort &result);
266
269
 
267
270
  void connect();
@@ -269,16 +272,18 @@ public:
269
272
 
270
273
  virtual std::optional<std::string> toString() const override {
271
274
  const esi::Type *argType =
272
- dynamic_cast<const ChannelType *>(arg.getType())->getInner();
275
+ dynamic_cast<const ChannelType *>(type->findChannel("arg").first)
276
+ ->getInner();
273
277
  const esi::Type *resultType =
274
- dynamic_cast<const ChannelType *>(result.getType())->getInner();
278
+ dynamic_cast<const ChannelType *>(type->findChannel("result").first)
279
+ ->getInner();
275
280
  return "function " + resultType->getID() + "(" + argType->getID() + ")";
276
281
  }
277
282
 
278
283
  private:
279
284
  std::mutex callMutex;
280
- WriteChannelPort &arg;
281
- ReadChannelPort &result;
285
+ WriteChannelPort *arg;
286
+ ReadChannelPort *result;
282
287
  };
283
288
 
284
289
  private:
@@ -288,22 +293,21 @@ private:
288
293
  /// Service for servicing function calls from the accelerator.
289
294
  class CallService : public Service {
290
295
  public:
291
- CallService(AcceleratorConnection *acc, AppIDPath id, std::string implName,
292
- ServiceImplDetails details, HWClientDetails clients);
296
+ CallService(AcceleratorConnection &acc, AppIDPath id,
297
+ ServiceImplDetails details);
293
298
 
294
299
  virtual std::string getServiceSymbol() const override;
295
- virtual ServicePort *getPort(AppIDPath id, const BundleType *type,
296
- const std::map<std::string, ChannelPort &> &,
297
- AcceleratorConnection &) const override;
300
+ virtual BundlePort *getPort(AppIDPath id,
301
+ const BundleType *type) const override;
298
302
 
299
303
  /// A function call which gets attached to a service port.
300
304
  class Callback : public ServicePort {
301
305
  friend class CallService;
302
- Callback(AcceleratorConnection &acc, AppID id,
303
- const std::map<std::string, ChannelPort &> &channels);
306
+ Callback(AcceleratorConnection &acc, AppID id, const BundleType *,
307
+ PortMap channels);
304
308
 
305
309
  public:
306
- static Callback *get(AcceleratorConnection &acc, AppID id,
310
+ static Callback *get(AcceleratorConnection &acc, AppID id, BundleType *type,
307
311
  WriteChannelPort &result, ReadChannelPort &arg);
308
312
 
309
313
  /// Connect a callback to code which will be executed when the accelerator
@@ -315,15 +319,17 @@ public:
315
319
 
316
320
  virtual std::optional<std::string> toString() const override {
317
321
  const esi::Type *argType =
318
- dynamic_cast<const ChannelType *>(arg.getType())->getInner();
322
+ dynamic_cast<const ChannelType *>(type->findChannel("arg").first)
323
+ ->getInner();
319
324
  const esi::Type *resultType =
320
- dynamic_cast<const ChannelType *>(result.getType())->getInner();
325
+ dynamic_cast<const ChannelType *>(type->findChannel("result").first)
326
+ ->getInner();
321
327
  return "callback " + resultType->getID() + "(" + argType->getID() + ")";
322
328
  }
323
329
 
324
330
  private:
325
- ReadChannelPort &arg;
326
- WriteChannelPort &result;
331
+ ReadChannelPort *arg;
332
+ WriteChannelPort *result;
327
333
  AcceleratorConnection &acc;
328
334
  };
329
335
 
@@ -16,8 +16,8 @@
16
16
  #ifndef ESI_TYPES_H
17
17
  #define ESI_TYPES_H
18
18
 
19
- #include <map>
20
19
  #include <cstdint>
20
+ #include <map>
21
21
  #include <string>
22
22
  #include <vector>
23
23
 
@@ -54,6 +54,13 @@ public:
54
54
  const ChannelVector &getChannels() const { return channels; }
55
55
  std::ptrdiff_t getBitWidth() const override { return -1; };
56
56
 
57
+ std::pair<const Type *, Direction> findChannel(std::string name) const {
58
+ for (auto [channelName, dir, type] : channels)
59
+ if (channelName == name)
60
+ return std::make_pair(type, dir);
61
+ throw std::runtime_error("Channel '" + name + "' not found in bundle");
62
+ }
63
+
57
64
  protected:
58
65
  ChannelVector channels;
59
66
  };
@@ -64,14 +64,13 @@ public:
64
64
 
65
65
  /// Internal implementation.
66
66
  struct Impl;
67
-
68
- /// Request the host side channel ports for a particular instance (identified
69
- /// by the AppID path). For convenience, provide the bundle type.
70
- std::map<std::string, ChannelPort &>
71
- requestChannelsFor(AppIDPath, const BundleType *,
72
- const ServiceTable &) override;
67
+ Impl &getImpl();
73
68
 
74
69
  protected:
70
+ void createEngine(const std::string &engineTypeName, AppIDPath idPath,
71
+ const ServiceImplDetails &details,
72
+ const HWClientDetails &clients) override;
73
+
75
74
  virtual Service *createService(Service::Type service, AppIDPath idPath,
76
75
  std::string implName,
77
76
  const ServiceImplDetails &details,
esiaccel/zlib1.dll CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: esiaccel
3
- Version: 0.0.17.dev491
3
+ Version: 0.0.17.dev568
4
4
  Summary: ESI accelerators runtime
5
5
  Author-email: John Demme <John.Demme@microsoft.com>
6
6
  License: ==============================================================================
@@ -0,0 +1,28 @@
1
+ esiaccel/ESICppRuntime.dll,sha256=-1-TiT7Ccfz20Vqtgsicl2rO7I-J5nl_h5HwDxc_0Wk,3308032
2
+ esiaccel/ESICppRuntime.lib,sha256=d-4OduWSnZoaHld035eFeX9HhdiD4GactMX_NN2gNTA,13455416
3
+ esiaccel/__init__.py,sha256=C0GLqCQuF5g5qTzmAkf_YAHmBV2XAyiJad3Qz7h8u1g,562
4
+ esiaccel/accelerator.py,sha256=GM2FRZF_8nzAJ_7TSRSw_kaJCYWCHMK-cQD8ZZU8QVs,3071
5
+ esiaccel/codegen.py,sha256=uoYELtnIabVvgLeCABj-mWras0BvmSKABPH-cd9nDFk,6560
6
+ esiaccel/esiCppAccel.cp311-win_amd64.pyd,sha256=D56TElvHEiDn5n-fFOI7XUebM4v6mObEAt-ncqXTCZ8,429568
7
+ esiaccel/types.py,sha256=quV7bQFrweocGVCvwX_8KZd-Wz3Y0Yvi2YGCmihKvZM,15132
8
+ esiaccel/utils.py,sha256=nzar3WALJC_RfmM5v0GeUev5So1-EAYuAMxG9jLj3eQ,1062
9
+ esiaccel/zlib1.dll,sha256=abM2NcFf6cOgsmK3y8MvYErwSPXe-qJ9eos0M8QfP9c,90624
10
+ esiaccel/bin/esiquery.exe,sha256=jj0UsRHDd3ScEwN4qf88O6isL03MieT8dfmXz6Dd85U,45056
11
+ esiaccel/cmake/esiaccelConfig.cmake,sha256=HcLuZRVSMGdr1ln6gsLTfo9iWCsAPf9wVLejnYqnpVE,564
12
+ esiaccel/include/esi/Accelerator.h,sha256=s_3bYulDQUBnKYs43oG7r1AMycy588V103tbWFZEwvI,9664
13
+ esiaccel/include/esi/Common.h,sha256=GyB9S4GJn-1K4bZNWi6Fc5ftKsL2Y362QOsNYuCqk6I,5078
14
+ esiaccel/include/esi/Context.h,sha256=0o9desdPYzqTnZWqR74d6Mvg75PnoTAbr7tvJYclubc,2371
15
+ esiaccel/include/esi/Design.h,sha256=DFcmUA7j-xWQO2L0rWnq5Jfc_BDXX90GD92pYS20CpY,4446
16
+ esiaccel/include/esi/Logging.h,sha256=eAN4e_0l1-zKlbScsuwCm9wstjzw5-B8jAiS9EXB_xo,6984
17
+ esiaccel/include/esi/Manifest.h,sha256=j3v9UA0ogtJQBlv6k5s4j_3sCsq-gwF9btVg5dKTBlg,2244
18
+ esiaccel/include/esi/Ports.h,sha256=T2WbPBViUSvFbO5Jjxlcp_eGq9jMitguvNnz3O0564U,10543
19
+ esiaccel/include/esi/Services.h,sha256=1bjsDS9JvrONlDTGyxkIXprQL2wGSWIayrlxstyaqw0,13278
20
+ esiaccel/include/esi/Types.h,sha256=P4ExO8-zvm7qQocUmkM_ATIvamxtDZ8JT2ToLkFo1dk,5483
21
+ esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,3061
22
+ esiaccel/include/esi/backends/Trace.h,sha256=kx4wwLH3a0ndmRUdaDyYGZ1SP83zlpFrk30Nw8ZrJJA,3286
23
+ esiaccel-0.0.17.dev568.dist-info/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
24
+ esiaccel-0.0.17.dev568.dist-info/METADATA,sha256=1xXQ_GKx62L_r_aw8mzo9Xi1Yu50SGE68VV1A8tCCUQ,16128
25
+ esiaccel-0.0.17.dev568.dist-info/WHEEL,sha256=badvNS-y9fEq0X-qzdZYvql_JFjI7Xfw-wR8FsjoK0I,102
26
+ esiaccel-0.0.17.dev568.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
27
+ esiaccel-0.0.17.dev568.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
28
+ esiaccel-0.0.17.dev568.dist-info/RECORD,,
@@ -1,28 +0,0 @@
1
- esiaccel/ESICppRuntime.dll,sha256=Jo7Em27QWqhGNSAIV7yWEYGN-8iougVqQWYn7Qut41M,3005440
2
- esiaccel/ESICppRuntime.lib,sha256=auYgu-2ar5C_lpqm88wtHjC0whMzvzTEERrRjiflH5o,12048286
3
- esiaccel/__init__.py,sha256=C0GLqCQuF5g5qTzmAkf_YAHmBV2XAyiJad3Qz7h8u1g,562
4
- esiaccel/accelerator.py,sha256=GM2FRZF_8nzAJ_7TSRSw_kaJCYWCHMK-cQD8ZZU8QVs,3071
5
- esiaccel/codegen.py,sha256=uoYELtnIabVvgLeCABj-mWras0BvmSKABPH-cd9nDFk,6560
6
- esiaccel/esiCppAccel.cp311-win_amd64.pyd,sha256=h-jEf1gULv2bjHE5cp8A3X0FFD4iYoZdB-QEH5vgjcs,429568
7
- esiaccel/types.py,sha256=quV7bQFrweocGVCvwX_8KZd-Wz3Y0Yvi2YGCmihKvZM,15132
8
- esiaccel/utils.py,sha256=nzar3WALJC_RfmM5v0GeUev5So1-EAYuAMxG9jLj3eQ,1062
9
- esiaccel/zlib1.dll,sha256=RPGkVJHB_9m4mSTnaaVwF8xyI1Xud33jFVLfTRtgM3w,90624
10
- esiaccel/bin/esiquery.exe,sha256=2KinBzwMyp4w3SM4fYcB-txkzthyda70-yIO3ScV-Ag,45056
11
- esiaccel/cmake/esiaccelConfig.cmake,sha256=HcLuZRVSMGdr1ln6gsLTfo9iWCsAPf9wVLejnYqnpVE,564
12
- esiaccel/include/esi/Accelerator.h,sha256=uLjRYBDUrG0LxVL3X834BXvE1RtCZdCpvBQWVKH6nJc,8855
13
- esiaccel/include/esi/Common.h,sha256=rEpR8KQPa_O10G95CpEOpnjQtvYs4bbmrwamGSMJ9Yg,5047
14
- esiaccel/include/esi/Context.h,sha256=0o9desdPYzqTnZWqR74d6Mvg75PnoTAbr7tvJYclubc,2371
15
- esiaccel/include/esi/Design.h,sha256=DFcmUA7j-xWQO2L0rWnq5Jfc_BDXX90GD92pYS20CpY,4446
16
- esiaccel/include/esi/Logging.h,sha256=eAN4e_0l1-zKlbScsuwCm9wstjzw5-B8jAiS9EXB_xo,6984
17
- esiaccel/include/esi/Manifest.h,sha256=j3v9UA0ogtJQBlv6k5s4j_3sCsq-gwF9btVg5dKTBlg,2244
18
- esiaccel/include/esi/Ports.h,sha256=NLkrSeE8GcQLo7TdKynOJAWCP9VHeh2OA0owzwzYaSk,9204
19
- esiaccel/include/esi/Services.h,sha256=q64MClIQsXNGVT17rj_STXR9m6m-UmThswb2FI0bHuM,13541
20
- esiaccel/include/esi/Types.h,sha256=l2QafIcLQC0a_kBvWYki24gOR4KgfNS88rMkfQZQOyw,5196
21
- esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,3061
22
- esiaccel/include/esi/backends/Trace.h,sha256=_kEADJRs-h3MMDqf7Dl_dgTfbNyttHyP8gTwsrYC4UY,3370
23
- esiaccel-0.0.17.dev491.dist-info/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
24
- esiaccel-0.0.17.dev491.dist-info/METADATA,sha256=NV8Erj8i_ole4Jtb23kEL71XNdvJYHSzpQvckVd0ZaI,16128
25
- esiaccel-0.0.17.dev491.dist-info/WHEEL,sha256=badvNS-y9fEq0X-qzdZYvql_JFjI7Xfw-wR8FsjoK0I,102
26
- esiaccel-0.0.17.dev491.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
27
- esiaccel-0.0.17.dev491.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
28
- esiaccel-0.0.17.dev491.dist-info/RECORD,,