|
Sequential Quantum Gate Decomposer
v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Provides functions to link and manage data-flow accelerator libarries. More...
#include "common_DFE.h"#include "matrix_base.hpp"#include <atomic>#include <dlfcn.h>#include <unistd.h>#include <mutex>
Go to the source code of this file.
Functions | |
| int | calcqgdKernelDFE (size_t rows, size_t cols, DFEgate_kernel_type *gates, int gatesNum, int gateSetNum, int traceOffset, double *trace) |
| Call to execute the calculation on the reserved DFE engines. More... | |
| size_t | get_accelerator_avail_num () |
| Call to get the available number of accelerators. More... | |
| size_t | get_accelerator_free_num () |
| Call to get the number of free accelerators. More... | |
| int | get_chained_gates_num () |
| Call to retrieve the number of gates that should be chained up during the execution of the DFE library. More... | |
| int | get_initialize_id () |
| Call to get the identification number of the inititalization of the library. More... | |
| int | init_dfe_lib (const int accelerator_num, int qbit_num, int initialize_id_in) |
| Call to initialize the DFE library support and allocate the requested devices. More... | |
| void | lock_lib () |
| Call to lock the access to the execution of the DFE library. More... | |
| std::atomic_size_t | read_count (0) |
| reference counting of locking-unlocking the DFE accelerators More... | |
| void | unload_dfe_lib () |
| Call to unload the DFE libarary and release the allocated devices. More... | |
| void | unlock_lib () |
| Call to unlock the access to the execution of the DFE library. More... | |
| void | uploadMatrix2DFE (Matrix &input) |
| Call to upload the input matrix to the DFE engine. More... | |
Variables | |
| int(* | calcqgdKernelDFE_dll )(size_t rows, size_t cols, DFEgate_kernel_type *gates, int gatesNum, int gateSetNum, int traceOffset, double *trace) = NULL |
| size_t(* | get_accelerator_avail_num_dll )() = NULL |
| size_t(* | get_accelerator_free_num_dll )() = NULL |
| int(* | get_chained_gates_num_dll )() = NULL |
| void * | handle = NULL |
| int(* | initialize_DFE_dll )(int accelerator_num) = NULL |
| int | initialize_id = -1 |
| std::recursive_mutex | libmutex |
| mutex to guard DFE lib locking and unlocking More... | |
| std::mutex | libreadmutex |
| int(* | load2LMEM_dll )(QGD_Complex16 *data, size_t rows, size_t cols) = NULL |
| void(* | releive_DFE_dll )() = NULL |
Provides functions to link and manage data-flow accelerator libarries.
Definition in file common_DFE.cpp.
| int calcqgdKernelDFE | ( | size_t | rows, |
| size_t | cols, | ||
| DFEgate_kernel_type * | gates, | ||
| int | gatesNum, | ||
| int | gateSetNum, | ||
| int | traceOffset, | ||
| double * | trace | ||
| ) |
Call to execute the calculation on the reserved DFE engines.
| rows | The number of rows in the input matrix |
| cols | the number of columns in the input matrix |
| gates | The metadata describing the gates to be applied on the input |
| gatesNum | The number of the chained up gates. |
| gateSetNum | Integer descibing how many individual gate chains are encoded in the gates input. |
| traceOffset | In integer describing an offset in the trace calculation |
| trace | The trace of the transformed unitaries are returned through this pointer |
Definition at line 207 of file common_DFE.cpp.

| size_t get_accelerator_avail_num | ( | ) |
Call to get the available number of accelerators.
Definition at line 169 of file common_DFE.cpp.
| size_t get_accelerator_free_num | ( | ) |
Call to get the number of free accelerators.
Definition at line 180 of file common_DFE.cpp.
| int get_chained_gates_num | ( | ) |
Call to retrieve the number of gates that should be chained up during the execution of the DFE library.
Definition at line 220 of file common_DFE.cpp.

| int get_initialize_id | ( | ) |
Call to get the identification number of the inititalization of the library.
Definition at line 190 of file common_DFE.cpp.

Call to initialize the DFE library support and allocate the requested devices.
| accelerator_num | The number of requested devices |
| qbit_num | The number of the supported qubits |
| initialize_id_in | Identification number of the inititalization of the library |
Definition at line 101 of file common_DFE.cpp.


| void lock_lib | ( | ) |
Call to lock the access to the execution of the DFE library.
Definition at line 145 of file common_DFE.cpp.


| std::atomic_size_t read_count | ( | 0 | ) |
reference counting of locking-unlocking the DFE accelerators

| void unload_dfe_lib | ( | ) |
Call to unload the DFE libarary and release the allocated devices.
Definition at line 78 of file common_DFE.cpp.

| void unlock_lib | ( | ) |
Call to unlock the access to the execution of the DFE library.
Definition at line 155 of file common_DFE.cpp.


| void uploadMatrix2DFE | ( | Matrix & | input | ) |
Call to upload the input matrix to the DFE engine.
| input | The input matrix |
Definition at line 65 of file common_DFE.cpp.


| int(* calcqgdKernelDFE_dll) (size_t rows, size_t cols, DFEgate_kernel_type *gates, int gatesNum, int gateSetNum, int traceOffset, double *trace) = NULL |
Definition at line 48 of file common_DFE.cpp.
| size_t(* get_accelerator_avail_num_dll) () = NULL |
Definition at line 46 of file common_DFE.cpp.
| size_t(* get_accelerator_free_num_dll) () = NULL |
Definition at line 47 of file common_DFE.cpp.
| int(* get_chained_gates_num_dll) () = NULL |
Definition at line 52 of file common_DFE.cpp.
| void* handle = NULL |
Definition at line 34 of file common_DFE.cpp.
Definition at line 51 of file common_DFE.cpp.
| int initialize_id = -1 |
Definition at line 57 of file common_DFE.cpp.
| std::recursive_mutex libmutex |
mutex to guard DFE lib locking and unlocking
Definition at line 40 of file common_DFE.cpp.
| std::mutex libreadmutex |
Definition at line 41 of file common_DFE.cpp.
| int(* load2LMEM_dll) (QGD_Complex16 *data, size_t rows, size_t cols) = NULL |
Definition at line 49 of file common_DFE.cpp.
| void(* releive_DFE_dll) () = NULL |
Definition at line 50 of file common_DFE.cpp.
1.8.13