esiaccel 0.1.2.dev20__cp312-cp312-win_amd64.whl → 0.1.3__cp312-cp312-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.

esiaccel/CosimBackend.dll CHANGED
Binary file
esiaccel/CosimBackend.lib CHANGED
Binary file
Binary file
Binary file
esiaccel/bin/esi-cosim.py CHANGED
@@ -135,7 +135,10 @@ class Simulator:
135
135
  """Return the command to run the simulation."""
136
136
  assert False, "Must be implemented by subclass"
137
137
 
138
- def run(self, inner_command: str, gui: bool = False) -> int:
138
+ def run(self,
139
+ inner_command: str,
140
+ gui: bool = False,
141
+ server_only: bool = False) -> int:
139
142
  """Start the simulation then run the command specified. Kill the simulation
140
143
  when the command exits."""
141
144
 
@@ -197,12 +200,19 @@ class Simulator:
197
200
  raise Exception("Simulation exited early")
198
201
  time.sleep(0.05)
199
202
 
200
- # Run the inner command, passing the connection info via environment vars.
201
- testEnv = os.environ.copy()
202
- testEnv["ESI_COSIM_PORT"] = str(port)
203
- testEnv["ESI_COSIM_HOST"] = "localhost"
204
- return subprocess.run(inner_command, cwd=os.getcwd(),
205
- env=testEnv).returncode
203
+ if server_only:
204
+ # wait for user input to kill the server
205
+ input(
206
+ f"Running in server-only mode on port {port} - Press anything to kill the server..."
207
+ )
208
+ return 0
209
+ else:
210
+ # Run the inner command, passing the connection info via environment vars.
211
+ testEnv = os.environ.copy()
212
+ testEnv["ESI_COSIM_PORT"] = str(port)
213
+ testEnv["ESI_COSIM_HOST"] = "localhost"
214
+ return subprocess.run(inner_command, cwd=os.getcwd(),
215
+ env=testEnv).returncode
206
216
  finally:
207
217
  # Make sure to stop the simulation no matter what.
208
218
  if simProc:
@@ -317,7 +327,10 @@ class Questa(Simulator):
317
327
  cmd.append(svLib)
318
328
  return cmd
319
329
 
320
- def run(self, inner_command: str, gui: bool = False) -> int:
330
+ def run(self,
331
+ inner_command: str,
332
+ gui: bool = False,
333
+ server_only: bool = False) -> int:
321
334
  """Override the Simulator.run() to add a soft link in the run directory (to
322
335
  the work directory) before running vsim the usual way."""
323
336
 
@@ -327,7 +340,7 @@ class Questa(Simulator):
327
340
  os.symlink(Path(os.getcwd()) / "work", workDir)
328
341
 
329
342
  # Run the simulation.
330
- return super().run(inner_command, gui)
343
+ return super().run(inner_command, gui, server_only=server_only)
331
344
 
332
345
 
333
346
  def __main__(args):
@@ -375,6 +388,11 @@ def __main__(args):
375
388
  nargs=argparse.REMAINDER,
376
389
  help="Command to run in the simulation environment.")
377
390
 
391
+ argparser.add_argument(
392
+ "--server-only",
393
+ action="store_true",
394
+ help="Only run the cosim server, and do not run any inner command.")
395
+
378
396
  if len(args) <= 1:
379
397
  argparser.print_help()
380
398
  return
@@ -398,7 +416,7 @@ def __main__(args):
398
416
  rc = sim.compile()
399
417
  if rc != 0:
400
418
  return rc
401
- return sim.run(args.inner_cmd[1:], gui=args.gui)
419
+ return sim.run(args.inner_cmd[1:], gui=args.gui, server_only=args.server_only)
402
420
 
403
421
 
404
422
  if __name__ == '__main__':
esiaccel/bin/esiquery.exe CHANGED
Binary file
Binary file
@@ -105,13 +105,24 @@ public:
105
105
  /// Adopts the data vector buffer.
106
106
  MessageData() = default;
107
107
  MessageData(std::vector<uint8_t> &data) : data(std::move(data)) {}
108
+ MessageData(std::vector<uint8_t> &&data) : data(std::move(data)) {}
108
109
  MessageData(const uint8_t *data, size_t size) : data(data, data + size) {}
109
110
  ~MessageData() = default;
110
111
 
111
112
  const uint8_t *getBytes() const { return data.data(); }
113
+
114
+ /// Get the data as a vector of bytes.
115
+ const std::vector<uint8_t> &getData() const { return data; }
116
+
117
+ /// Move the data out of this object.
118
+ std::vector<uint8_t> takeData() { return std::move(data); }
119
+
112
120
  /// Get the size of the data in bytes.
113
121
  size_t getSize() const { return data.size(); }
114
122
 
123
+ /// Returns true if this message contains no data.
124
+ bool empty() const { return data.empty(); }
125
+
115
126
  /// Cast to a type. Throws if the size of the data does not match the size of
116
127
  /// the message. The lifetime of the resulting pointer is tied to the lifetime
117
128
  /// of this object.
@@ -284,6 +284,7 @@ public:
284
284
  std::mutex callMutex;
285
285
  WriteChannelPort *arg;
286
286
  ReadChannelPort *result;
287
+ bool connected = false;
287
288
  };
288
289
 
289
290
  private:
@@ -307,8 +308,9 @@ public:
307
308
  PortMap channels);
308
309
 
309
310
  public:
310
- static Callback *get(AcceleratorConnection &acc, AppID id, BundleType *type,
311
- WriteChannelPort &result, ReadChannelPort &arg);
311
+ static Callback *get(AcceleratorConnection &acc, AppID id,
312
+ const BundleType *type, WriteChannelPort &result,
313
+ ReadChannelPort &arg);
312
314
 
313
315
  /// Connect a callback to code which will be executed when the accelerator
314
316
  /// invokes the callback. The 'quick' flag indicates that the callback is
Binary file
Binary file
esiaccel/lib/MtiPli.dll CHANGED
Binary file
esiaccel/lib/MtiPli.lib CHANGED
Binary file
esiaccel/zlib1.dll CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esiaccel
3
- Version: 0.1.2.dev20
3
+ Version: 0.1.3
4
4
  Summary: ESI accelerators runtime
5
5
  Author-email: John Demme <John.Demme@microsoft.com>
6
6
  License: ==============================================================================
@@ -1,16 +1,16 @@
1
- esiaccel/CosimBackend.dll,sha256=Rrn4QuQ-0jYSmHLhhCkvUQx_qplEJKBQ3ZFGaakLtJs,7161344
2
- esiaccel/CosimBackend.lib,sha256=dZgNr_bh6UBFYi1UKscDYE5Hen86dlqPYcuOgmxDmgM,4990738
3
- esiaccel/ESICppRuntime.dll,sha256=Kb6FBMf4-RdCJqFPzygaz_Fvz8QAKpA9bOtMMH6nY1k,3691520
4
- esiaccel/ESICppRuntime.lib,sha256=oSMmWb5bYyGzPFHsOq__fnJ-elhXqzBL-ZYjd4vamTA,14491514
1
+ esiaccel/CosimBackend.dll,sha256=eO_cs2jtmjcqxGaw5KAhDtkOG3fTbBt2ZPrcfmjGNUs,7150592
2
+ esiaccel/CosimBackend.lib,sha256=2qSqISOnyefgUZQPnUoDyDzkpcQVnCf-fjyqLb6aINI,4991546
3
+ esiaccel/ESICppRuntime.dll,sha256=LsKI4JDnG2ETmjncQnxKeeoaAtft_IcNtQBmSE16YK8,3682304
4
+ esiaccel/ESICppRuntime.lib,sha256=0IylTM7GptXB8Uhwuk4sISzwTnpKfncShSswrVRWgHE,14489550
5
5
  esiaccel/__init__.py,sha256=C0GLqCQuF5g5qTzmAkf_YAHmBV2XAyiJad3Qz7h8u1g,562
6
6
  esiaccel/accelerator.py,sha256=GM2FRZF_8nzAJ_7TSRSw_kaJCYWCHMK-cQD8ZZU8QVs,3071
7
7
  esiaccel/codegen.py,sha256=uoYELtnIabVvgLeCABj-mWras0BvmSKABPH-cd9nDFk,6560
8
- esiaccel/esiCppAccel.cp312-win_amd64.pyd,sha256=PSabY4Nc4dJHBsaob_nVeReK5zpP6glWUC971iK2FqA,462336
8
+ esiaccel/esiCppAccel.cp312-win_amd64.pyd,sha256=eQ8pWfWuPyJ3DO1tqlWEe6pdB0vtFvS-g5n8KboMiPQ,459776
9
9
  esiaccel/types.py,sha256=gfUgrX67KYFruX5xsj_wLNJCdwczzLpseyH71M86pW0,17047
10
10
  esiaccel/utils.py,sha256=nzar3WALJC_RfmM5v0GeUev5So1-EAYuAMxG9jLj3eQ,1062
11
- esiaccel/zlib1.dll,sha256=rtruy0YK2VoenAkjwoOqwAoEtlDgWnM8Z8WWndDkCi8,90624
12
- esiaccel/bin/esi-cosim.py,sha256=Q-eW6S8m5fJsgY__-XlPXxXI8HHYsDDqjTNksrZcK60,13808
13
- esiaccel/bin/esiquery.exe,sha256=0w2o4F_Hmt6unCidw4uAwQdZcuSYMdlAfm2CVS06ZtQ,436224
11
+ esiaccel/zlib1.dll,sha256=8CgK0CBiLlKC7Vo-mB9JhtDEiyl0Ar3_IOp98fKto5o,90112
12
+ esiaccel/bin/esi-cosim.py,sha256=GwYfNh4aagypheAhGf0EIX6ojkLYKkc5OMlFR9pfXe8,14381
13
+ esiaccel/bin/esiquery.exe,sha256=CFq_P_lUFJZaAs3fDoy_86Qn68olGZaY5DCvPx2VBlE,441856
14
14
  esiaccel/cmake/esiaccelConfig.cmake,sha256=u2aW99k1lEcmYTG1P3BTJqtmDrj53wUUaBz_jzw8kYY,565
15
15
  esiaccel/cosim/Cosim_DpiPkg.sv,sha256=9qGn1VyAVrzBP5At1thV6xrovg0WghICD01Zz9J221E,3458
16
16
  esiaccel/cosim/Cosim_Endpoint.sv,sha256=ri1fHdkiphe8S2-vm6Ru16rBGYiDiS1c8qeCAsl1diU,6498
@@ -19,26 +19,26 @@ esiaccel/cosim/driver.cpp,sha256=DrEKkSN7Y_Hu7wcaUulH5mbC2L4yB9xLClRMeRUpzHM,384
19
19
  esiaccel/cosim/driver.sv,sha256=ro-j9GM164A1W0MDPkqYfEn3TUKHSqVvgjO31fnloQI,1428
20
20
  esiaccel/include/esi/Accelerator.h,sha256=RhkZ2HeMZ0iHc5BkHdDWXoeg9J9lyPQciH5bWq5Qc_w,9772
21
21
  esiaccel/include/esi/CLI.h,sha256=Nn8tHn_xtEfkrD7USE2tao6ktYOJ6xcbnhZkS9-ox0A,2540
22
- esiaccel/include/esi/Common.h,sha256=GyB9S4GJn-1K4bZNWi6Fc5ftKsL2Y362QOsNYuCqk6I,5078
22
+ esiaccel/include/esi/Common.h,sha256=PKoDU2y2q5zwfeyjW5jfHqRiP6NGPOF3Wn3aOHdmWvM,5468
23
23
  esiaccel/include/esi/Context.h,sha256=Tk_4nBDtTeVY62GfX4Cs_ZMIQstjSgrWHddN_PKANEA,2396
24
24
  esiaccel/include/esi/Design.h,sha256=mU8OwpCYijiWSdDq17l45LMzZxBca93nosudWCXNHfQ,4922
25
25
  esiaccel/include/esi/Engines.h,sha256=bbGbhXjYMpIpXh_DR0OS57zyGQUIDXh_S7xHX3su0Y0,4831
26
26
  esiaccel/include/esi/Logging.h,sha256=sHqMcpp0lNIHkIEyvSm-BBWx4zXXh6NOATCgZpgzYI4,8944
27
27
  esiaccel/include/esi/Manifest.h,sha256=j3v9UA0ogtJQBlv6k5s4j_3sCsq-gwF9btVg5dKTBlg,2244
28
28
  esiaccel/include/esi/Ports.h,sha256=T2WbPBViUSvFbO5Jjxlcp_eGq9jMitguvNnz3O0564U,10543
29
- esiaccel/include/esi/Services.h,sha256=NyeuBxBzmZLpDoikQsjI-ih5FfVivfepZU9Bt8oi0CE,14721
29
+ esiaccel/include/esi/Services.h,sha256=THgEbqNOuUIo1nonFFVsy_7H58GvPKP0Yw6i-ySPWBA,14782
30
30
  esiaccel/include/esi/Types.h,sha256=P4ExO8-zvm7qQocUmkM_ATIvamxtDZ8JT2ToLkFo1dk,5483
31
31
  esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,3061
32
32
  esiaccel/include/esi/backends/Cosim.h,sha256=s7vYd0ra6m1nvk-n37MjvBoGVI-CCUKBt0DU4PKlaHM,2838
33
33
  esiaccel/include/esi/backends/RpcServer.h,sha256=WMwnhwU2qnrcglGNeiKg9QQHpkDx1QE1JydKYDK4jqE,1856
34
34
  esiaccel/include/esi/backends/Trace.h,sha256=kx4wwLH3a0ndmRUdaDyYGZ1SP83zlpFrk30Nw8ZrJJA,3286
35
- esiaccel/lib/EsiCosimDpiServer.dll,sha256=SnkA9XTEEjt7E4QsgYVV04ZSs7R6cxjbpdLLh9REhZo,160768
36
- esiaccel/lib/EsiCosimDpiServer.lib,sha256=YrKxoXvBjmyrC-yJ7aq4_ePloA9p5X04oXjM8Ers1wY,604164
37
- esiaccel/lib/MtiPli.dll,sha256=Awq7e4U3Z440sPmAsMUmg5as8ph3zXyucS2gyMq4kOc,14848
38
- esiaccel/lib/MtiPli.lib,sha256=Q__4sWi51FSc2p1hDaN90G0HstSxRy07z0aaXGd2e_w,14570
39
- esiaccel-0.1.2.dev20.dist-info/licenses/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
40
- esiaccel-0.1.2.dev20.dist-info/METADATA,sha256=7Z2TbxKyaVzmKK3OfwJ_WEvMBVTjQ5Q3eQgqRnptXWQ,16147
41
- esiaccel-0.1.2.dev20.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
42
- esiaccel-0.1.2.dev20.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
43
- esiaccel-0.1.2.dev20.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
44
- esiaccel-0.1.2.dev20.dist-info/RECORD,,
35
+ esiaccel/lib/EsiCosimDpiServer.dll,sha256=kBKxah9KL7_PqyRtwI6lKg8tJJ_b-NDvDPD6M0-hv_k,159744
36
+ esiaccel/lib/EsiCosimDpiServer.lib,sha256=eFEv_EO7-u7vxUTbURwj0d5rwHNoncITR9P2qJAE1Vk,604164
37
+ esiaccel/lib/MtiPli.dll,sha256=oa8N9QEi8sThqynd9mNWrkXUGguH1nK9zmfN0Vzcf04,14848
38
+ esiaccel/lib/MtiPli.lib,sha256=0vBNn5m9C3ulbl8UJ83c0tuxZAKVrB6_B1bQmBE5jc0,14570
39
+ esiaccel-0.1.3.dist-info/licenses/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
40
+ esiaccel-0.1.3.dist-info/METADATA,sha256=RGRkb6Sh7_ZbeiS6QrSboaG7YHFUh6FK_8vpDdPqlv4,16141
41
+ esiaccel-0.1.3.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
42
+ esiaccel-0.1.3.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
43
+ esiaccel-0.1.3.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
44
+ esiaccel-0.1.3.dist-info/RECORD,,