Skip to content

iQuantum 1.0.0

Latest
Compare
Choose a tag to compare
@hoaiocom hoaiocom released this 17 Aug 04:36
· 10 commits to main since this release
0b07108

This release contains major updates and improvements of the entire iQuantum project to enhance the clarity for seamlessly modeling hybrid quantum-classical computing environments. Most concepts and terminologies from the previous public release (0.3.0) have been changed. Please refer to iquantum-examples module to learn more about how to model various scenarios using iQuantum.

Major changes

  • Refactored and fully integrated classical entities of CloudSim 6 into iQuantum. The package structure of the iquantum module has been re-organized. Core classes have been updated accordingly to support the operation of iQuantum while maintain the support for modeling classical components.
  • Refactored quantum and classical tasks entities Qulet, and Cloudlet to QTask and CTask, respectively.
  • Updates all examples in iquantum-examples module to reflect the new changes.
  • Refactored the broker entities, there are separated cloud and edge variants of CBroker and QBroker, namely CCloudBroker, CEdgeBroker, QCloudBroker, and QEdgeBroker.
  • Updated the sample quantum task scheduling space shared policy and examples for multi-QPU (experimental)
  • Updated the utility classes for supporting importing IBM Quantum Nodes automatically modeling support from the calibration datasheet (.csv).
  • Updated Maven files to fix related bugs and upgrade plugins to newer versions.

New features

  • Added the dataset utilities to support import workload (QTask) dataset from the .csv files. The workload dataset can be generated by extracting features from the OpenQASM2 dataset (such as MQT Bench). A Python-based dataset generator (Jupyter Notebook) for iQuantum is also included (see dataset\iquantum\iquantumDatagen.ipynb).
  • Added different sample workload datasets generated from the MQT Bench (see dataset\iquantum)
  • Added Gateway entities with two child classes, CloudGateway and EdgeGateway to support the modeling of gateway entities for the cloud layer and edge layer, respectively
  • Add Edge entities and hybrid examples (iquantum-examples > hybrid) to demonstrate the hybrid quantum-classical examples in the cloud-edge continuum. Tasks can be offloaded from the edge layer to the cloud layer during the execution.
  • Added the sample quantum node selection policy based on Lottery Scheduling algorithm (QNodeSelectionLottery)
  • (Experimental) Added QPU and QNodeMQ classes for supporting the modeling of quantum processing units and multi-QPU QNode.
  • (Experimental) Added Py4J example for bridging iQuantum with other Python-based applications.

Note: The in-code comments are still being updated to enhance clarity and reflect the new changes in the source code.