.. index:: pair: namespace; gpu .. _doxid-namespacegpu: namespace gpu ============= .. toctree:: :hidden: .. ref-code-block:: cpp :class: doxyrest-overview-code-block namespace gpu { // global functions __global__ void :target:`unitarysingle`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` Block, :ref:`gpu_qstate_t` matrix_real00, :ref:`gpu_qstate_t` matrix_real01, :ref:`gpu_qstate_t` matrix_real10, :ref:`gpu_qstate_t` matrix_real11, :ref:`gpu_qstate_t` matrix_imag00, :ref:`gpu_qstate_t` matrix_imag01, :ref:`gpu_qstate_t` matrix_imag10, :ref:`gpu_qstate_t` matrix_imag11 ); __global__ void :target:`controlunitarysingle`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` target_qubit, :ref:`gpu_qsize_t` controller_mask, :ref:`gpu_qstate_t` matrix_real00, :ref:`gpu_qstate_t` matrix_real01, :ref:`gpu_qstate_t` matrix_real10, :ref:`gpu_qstate_t` matrix_real11, :ref:`gpu_qstate_t` matrix_imag00, :ref:`gpu_qstate_t` matrix_imag01, :ref:`gpu_qstate_t` matrix_imag10, :ref:`gpu_qstate_t` matrix_imag11 ); __global__ void :target:`unitarydouble`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` Block1, :ref:`gpu_qsize_t` Block2, :ref:`gpu_qstate_t` real0000, :ref:`gpu_qstate_t` real0001, :ref:`gpu_qstate_t` real0010, :ref:`gpu_qstate_t` real0011, :ref:`gpu_qstate_t` real0100, :ref:`gpu_qstate_t` real0101, :ref:`gpu_qstate_t` real0110, :ref:`gpu_qstate_t` real0111, :ref:`gpu_qstate_t` real1000, :ref:`gpu_qstate_t` real1001, :ref:`gpu_qstate_t` real1010, :ref:`gpu_qstate_t` real1011, :ref:`gpu_qstate_t` real1100, :ref:`gpu_qstate_t` real1101, :ref:`gpu_qstate_t` real1110, :ref:`gpu_qstate_t` real1111, :ref:`gpu_qstate_t` imag0000, :ref:`gpu_qstate_t` imag0001, :ref:`gpu_qstate_t` imag0010, :ref:`gpu_qstate_t` imag0011, :ref:`gpu_qstate_t` imag0100, :ref:`gpu_qstate_t` imag0101, :ref:`gpu_qstate_t` imag0110, :ref:`gpu_qstate_t` imag0111, :ref:`gpu_qstate_t` imag1000, :ref:`gpu_qstate_t` imag1001, :ref:`gpu_qstate_t` imag1010, :ref:`gpu_qstate_t` imag1011, :ref:`gpu_qstate_t` imag1100, :ref:`gpu_qstate_t` imag1101, :ref:`gpu_qstate_t` imag1110, :ref:`gpu_qstate_t` imag1111 ); __global__ void :target:`controlunitarydouble`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` controller_mask, :ref:`gpu_qsize_t` control_qubit, :ref:`gpu_qsize_t` target_qubit, :ref:`gpu_qstate_t` real0000, :ref:`gpu_qstate_t` real0001, :ref:`gpu_qstate_t` real0010, :ref:`gpu_qstate_t` real0011, :ref:`gpu_qstate_t` real0100, :ref:`gpu_qstate_t` real0101, :ref:`gpu_qstate_t` real0110, :ref:`gpu_qstate_t` real0111, :ref:`gpu_qstate_t` real1000, :ref:`gpu_qstate_t` real1001, :ref:`gpu_qstate_t` real1010, :ref:`gpu_qstate_t` real1011, :ref:`gpu_qstate_t` real1100, :ref:`gpu_qstate_t` real1101, :ref:`gpu_qstate_t` real1110, :ref:`gpu_qstate_t` real1111, :ref:`gpu_qstate_t` imag0000, :ref:`gpu_qstate_t` imag0001, :ref:`gpu_qstate_t` imag0010, :ref:`gpu_qstate_t` imag0011, :ref:`gpu_qstate_t` imag0100, :ref:`gpu_qstate_t` imag0101, :ref:`gpu_qstate_t` imag0110, :ref:`gpu_qstate_t` imag0111, :ref:`gpu_qstate_t` imag1000, :ref:`gpu_qstate_t` imag1001, :ref:`gpu_qstate_t` imag1010, :ref:`gpu_qstate_t` imag1011, :ref:`gpu_qstate_t` imag1100, :ref:`gpu_qstate_t` imag1101, :ref:`gpu_qstate_t` imag1110, :ref:`gpu_qstate_t` imag1111 ); __global__ void :target:`initState`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim ); __global__ void :target:`qubitprob`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` Block, :ref:`gpu_qstate_t`* pr ); __global__ void :target:`probsum`( :ref:`gpu_qstate_t`* pr, :ref:`gpu_qstate_t`* prob ); __global__ void :target:`qubitcollapse0`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` Block, :ref:`gpu_qstate_t` coef ); __global__ void :target:`qubitcollapse1`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qsize_t` Block, :ref:`gpu_qstate_t` coef ); __global__ void :target:`multiprob`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qsize_t` Dim, :ref:`gpu_qstate_t`* pro, :ref:`gpu_qsize_t`* block, :ref:`gpu_qsize_t` m, :ref:`gpu_qsize_t` dec ); __global__ void :target:`probsumnew1`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, :ref:`gpu_qstate_t`* probtemp, size_t num1, size_t m, size_t Dim, size_t* block ); __global__ void :target:`pmeasure_many_target`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, double* result, :ref:`gpu_qsize_t` qnum_mask, :ref:`gpu_qsize_t` result_size, :ref:`gpu_qsize_t` Dim ); __global__ void :target:`pmeasure_one_target`( :ref:`gpu_qstate_t`* psireal, :ref:`gpu_qstate_t`* psiimag, double* result, :ref:`gpu_qsize_t` qnum_mask, size_t result_idx, :ref:`gpu_qsize_t` result_dim, :ref:`gpu_qsize_t` Dim ); double :target:`randGenerator`(); } // namespace gpu