40 #include <tbb/queuing_rw_mutex.h> 43 #define DFE_LIB_9QUBITS "libqgdDFE.so" 44 #define DFE_LIB_10QUBITS "libqgdDFE_10qubits.so" 45 #define DFE_LIB_SIM "libqgdDFE_SIM.so" 123 tbb::queuing_rw_mutex::scoped_lock
lock;
size_t get_accelerator_free_num()
Call to get the number of free accelerators.
void unload_dfe_lib()
Call to unload the DFE libarary and release the allocated devices.
size_t get_accelerator_avail_num()
Call to get the available number of accelerators.
void init_dfe_lib_and_upload(const int accelerator_num, int qbit_num, int initialize_id_in, Matrix &input)
Initialize the DFE library if needed and upload the input matrix while holding the writer lock...
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.
Custom types for the SQUANDER package.
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.
Double-precision complex matrix (float64).
tbb::queuing_rw_mutex::scoped_lock lock
int get_initialize_id()
Call to get the identification number of the inititalization of the library.
Fixed point data related to a gate operation.
int get_chained_gates_num()
Call to retrieve the number of gates that should be chained up during the execution of the DFE librar...
void uploadMatrix2DFE(Matrix &input)
Call to upload the input matrix to the DFE engine.