Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
Loading...
Searching...
No Matches
q3::cli::GPUEntryPointDescriptor Struct Reference

#include <gpu_entry_point.hpp>

Public Types

using DeviceBackendPointer = std::shared_ptr< execution::gpu::device::GPUDeviceBackend >
 

Public Attributes

std::string backend_label
 Banner label, e.g. "CUDA GPU" → "BEGIN (CUDA GPU): <timestamp>".
 
std::string binary_name
 Binary name for the usage line, e.g. "q3_gpu_cuda".
 
std::string blas_library_name
 Vendor BLAS name for the validation log line, e.g. "cuBLAS". Optional.
 
std::function< std::unique_ptr< execution::gpu::blas::GPUBLAS >(DeviceBackendPointer)> create_blas
 
std::function< std::unique_ptr< execution::gpu::lapack::GPUEigensolver >(DeviceBackendPointer)> create_eigensolver
 
std::function< std::unique_ptr< gpu::GPUFFTGrid >(DeviceBackendPointer)> create_fft_grid
 
std::string eigensolver_library_name
 Vendor eigensolver name for the validation log line, e.g. "cuSOLVER". Optional.
 
std::string mixed_precision_description = "mixed (FP32 FFT)"
 Human-readable description of the mixed-precision mode, e.g. "mixed (FP32 FFT via cuFFT)".
 

Detailed Description

Everything that distinguishes one GPU binary from another.

Definition at line 50 of file gpu_entry_point.hpp.

Member Typedef Documentation

◆ DeviceBackendPointer

Member Data Documentation

◆ backend_label

std::string q3::cli::GPUEntryPointDescriptor::backend_label

Banner label, e.g. "CUDA GPU" → "BEGIN (CUDA GPU): <timestamp>".

Definition at line 52 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ binary_name

std::string q3::cli::GPUEntryPointDescriptor::binary_name

Binary name for the usage line, e.g. "q3_gpu_cuda".

Definition at line 54 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ blas_library_name

std::string q3::cli::GPUEntryPointDescriptor::blas_library_name

Vendor BLAS name for the validation log line, e.g. "cuBLAS". Optional.

Definition at line 56 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ create_blas

std::function<std::unique_ptr<execution::gpu::blas::GPUBLAS>(DeviceBackendPointer)> q3::cli::GPUEntryPointDescriptor::create_blas

Definition at line 64 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ create_eigensolver

std::function<std::unique_ptr<execution::gpu::lapack::GPUEigensolver>(DeviceBackendPointer)> q3::cli::GPUEntryPointDescriptor::create_eigensolver

Definition at line 66 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ create_fft_grid

std::function<std::unique_ptr<gpu::GPUFFTGrid>(DeviceBackendPointer)> q3::cli::GPUEntryPointDescriptor::create_fft_grid

Optional: backends without a native GPU FFT (Metal) leave this empty and the FP64 path falls back to the PlanewaveBasis FFTW grid.

Definition at line 71 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ eigensolver_library_name

std::string q3::cli::GPUEntryPointDescriptor::eigensolver_library_name

Vendor eigensolver name for the validation log line, e.g. "cuSOLVER". Optional.

Definition at line 58 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().

◆ mixed_precision_description

std::string q3::cli::GPUEntryPointDescriptor::mixed_precision_description = "mixed (FP32 FFT)"

Human-readable description of the mixed-precision mode, e.g. "mixed (FP32 FFT via cuFFT)".

Definition at line 60 of file gpu_entry_point.hpp.

Referenced by main(), and q3::cli::run_gpu_entry_point().


The documentation for this struct was generated from the following file: