Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
Macros | Functions
common_GROQ.h File Reference

Header file for Groq LPU support in state vector simulation. More...

#include <omp.h>
#include "QGDTypes.h"
#include "dot.h"
#include <string>
#include <stdio.h>
#include <iostream>
#include <cmath>
#include <vector>
#include <cstring>
#include <sstream>
Include dependency graph for common_GROQ.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DFE_LIB_SV   "libsvDFE.so"
 

Functions

void apply_to_groq_sv (int reserved_device_num, int chosen_device_num, int qbit_num, std::vector< Matrix > &u3_qbit, std::vector< int > &target_qbits, std::vector< int > &control_qbits, Matrix &quantum_state, int id_in)
 Call to pefrom the state vector simulation on the Groq hardware. More...
 
int get_initialize_id ()
 Call to get the identification number of the inititalization of the library. More...
 
int init_groq_sv_lib (const int reserved_device_num, int initialize_id_in)
 Call to allocated Groq cards for calculations. More...
 
void unload_groq_sv_lib ()
 Call to unload the programs from the reserved Groq cards. More...
 

Detailed Description

Header file for Groq LPU support in state vector simulation.

Definition in file common_GROQ.h.

Macro Definition Documentation

◆ DFE_LIB_SV

#define DFE_LIB_SV   "libsvDFE.so"

Definition at line 41 of file common_GROQ.h.

Function Documentation

◆ apply_to_groq_sv()

void apply_to_groq_sv ( int  reserved_device_num,
int  chosen_device_num,
int  qbit_num,
std::vector< Matrix > &  u3_qbit,
std::vector< int > &  target_qbits,
std::vector< int > &  control_qbits,
Matrix quantum_state,
int  id_in 
)

Call to pefrom the state vector simulation on the Groq hardware.

Parameters
reserved_device_numThe number of Groq accelerator cards to be allocated for the calulations
chosen_device_numThe ordinal number of the Groq accelerator card on which the calculation should be performed (0<=chosen_device_num<reserved_device_num)
qbit_numThe number of qubits
u3_qbitAn array of the gate kernels
target_qbitsThe array of target qubits
control_qbitsThe array of control qubits
quantum_stateThe input state vector on which the transformation is applied. The transformed state is returned via this input.
id_inIdentification number of the inititalized library

Definition at line 157 of file common_GROQ.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_initialize_id()

int get_initialize_id ( )

Call to get the identification number of the inititalization of the library.

Returns
Returns with the identification number of the inititalization of the library

Definition at line 216 of file common_DFE.cpp.

Here is the caller graph for this function:

◆ init_groq_sv_lib()

int init_groq_sv_lib ( const int  reserved_device_num,
int  initialize_id_in 
)

Call to allocated Groq cards for calculations.

Parameters
reserved_device_numThe number of Groq accelerator cards to be allocated for the calulations
initialize_id_inIdentification number of the inititalization of the library
Returns
Returns with 1 on success

Definition at line 105 of file common_GROQ.cpp.

Here is the caller graph for this function:

◆ unload_groq_sv_lib()

void unload_groq_sv_lib ( )

Call to unload the programs from the reserved Groq cards.

Definition at line 78 of file common_GROQ.cpp.