Loading graph_driver/xrays.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -81,15 +81,15 @@ int main(int argc, const char * argv[]) { ky->set(backend::base_cast<cpu> (0.0)); kz->set(backend::base_cast<cpu> (0.0)); auto eq = equilibrium::make_slab_density<cpu> (); //auto eq = equilibrium::make_no_magnetic_field<cpu> (); //auto eq = equilibrium::make_slab_density<cpu> (); auto eq = equilibrium::make_no_magnetic_field<cpu> (); //solver::split_simplextic<dispersion::bohm_gross<cpu>> solver::split_simplextic<dispersion::bohm_gross<cpu>> //solver::rk4<dispersion::bohm_gross<cpu>> //solver::rk4<dispersion::simple<cpu>> //solver::rk4<dispersion::ordinary_wave<cpu>> //solver::rk4<dispersion::extra_ordinary_wave<cpu>> solver::rk4<dispersion::cold_plasma<cpu>> //solver::rk4<dispersion::cold_plasma<cpu>> solve(omega, kx, ky, kz, x, y, z, t, 60.0/num_times, eq); solve.init(kx); solve.compile(num_times, num_rays); Loading graph_framework/cuda_context.hpp +24 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,9 @@ #include "node.hpp" namespace gpu { // Initialize the cuda driver. static const CUresult init = cuInit(0); //------------------------------------------------------------------------------ /// @brief Class representing a cuda gpu context. //------------------------------------------------------------------------------ Loading Loading @@ -104,17 +107,32 @@ namespace gpu { std::cout << "CUDA GPU info." << std::endl; std::cout << " Major compute capability : " << compute_version << std::endl; cuDeviceGetAttribute(&compute_version, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, device); std::cout << " Minor compute capability : " << compute_version << std::endl; // FIXME: Hardcoded for ada gpus for now. std::array<char *, 2> options({ "--gpu-architecture=compute_90", "--std=c++20" std::array<const char *, 2> options({ "--gpu-architecture=compute_70", "--std=c++17" }); nvrtcCompileProgram(kernel_program, 2, options.data()); char *mangled_kernel_name; if (nvrtcCompileProgram(kernel_program, 2, options.data())) { size_t log_size; nvrtcGetProgramLogSize(kernel_program, &log_size); char *log = static_cast<char *> (malloc(log_size)); nvrtcGetProgramLog(kernel_program, log); std::cout << log << std::endl; free(log); } const char *mangled_kernel_name; nvrtcGetLoweredName(kernel_program, kernel_name.c_str(), const_cast<const char **> (&mangled_kernel_name)); &mangled_kernel_name); std::cout << " Mangled Kernel Name : " << mangled_kernel_name << std::endl; Loading Loading
graph_driver/xrays.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -81,15 +81,15 @@ int main(int argc, const char * argv[]) { ky->set(backend::base_cast<cpu> (0.0)); kz->set(backend::base_cast<cpu> (0.0)); auto eq = equilibrium::make_slab_density<cpu> (); //auto eq = equilibrium::make_no_magnetic_field<cpu> (); //auto eq = equilibrium::make_slab_density<cpu> (); auto eq = equilibrium::make_no_magnetic_field<cpu> (); //solver::split_simplextic<dispersion::bohm_gross<cpu>> solver::split_simplextic<dispersion::bohm_gross<cpu>> //solver::rk4<dispersion::bohm_gross<cpu>> //solver::rk4<dispersion::simple<cpu>> //solver::rk4<dispersion::ordinary_wave<cpu>> //solver::rk4<dispersion::extra_ordinary_wave<cpu>> solver::rk4<dispersion::cold_plasma<cpu>> //solver::rk4<dispersion::cold_plasma<cpu>> solve(omega, kx, ky, kz, x, y, z, t, 60.0/num_times, eq); solve.init(kx); solve.compile(num_times, num_rays); Loading
graph_framework/cuda_context.hpp +24 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,9 @@ #include "node.hpp" namespace gpu { // Initialize the cuda driver. static const CUresult init = cuInit(0); //------------------------------------------------------------------------------ /// @brief Class representing a cuda gpu context. //------------------------------------------------------------------------------ Loading Loading @@ -104,17 +107,32 @@ namespace gpu { std::cout << "CUDA GPU info." << std::endl; std::cout << " Major compute capability : " << compute_version << std::endl; cuDeviceGetAttribute(&compute_version, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, device); std::cout << " Minor compute capability : " << compute_version << std::endl; // FIXME: Hardcoded for ada gpus for now. std::array<char *, 2> options({ "--gpu-architecture=compute_90", "--std=c++20" std::array<const char *, 2> options({ "--gpu-architecture=compute_70", "--std=c++17" }); nvrtcCompileProgram(kernel_program, 2, options.data()); char *mangled_kernel_name; if (nvrtcCompileProgram(kernel_program, 2, options.data())) { size_t log_size; nvrtcGetProgramLogSize(kernel_program, &log_size); char *log = static_cast<char *> (malloc(log_size)); nvrtcGetProgramLog(kernel_program, log); std::cout << log << std::endl; free(log); } const char *mangled_kernel_name; nvrtcGetLoweredName(kernel_program, kernel_name.c_str(), const_cast<const char **> (&mangled_kernel_name)); &mangled_kernel_name); std::cout << " Mangled Kernel Name : " << mangled_kernel_name << std::endl; Loading