26#ifndef OPENSWMM_ENGINE_2D_GPU_PLUGIN_ABI_H
27#define OPENSWMM_ENGINE_2D_GPU_PLUGIN_ABI_H
42# if defined(OPENSWMM_GPU_PLUGIN_BUILD)
43# define OPENSWMM_GPU_ABI __declspec(dllexport)
45# define OPENSWMM_GPU_ABI
47#elif defined(__GNUC__)
48# define OPENSWMM_GPU_ABI __attribute__((visibility("default")))
50# define OPENSWMM_GPU_ABI
60#define OPENSWMM_GPU_ABI_VERSION 2
OPENSWMM_GPU_ABI int openswmm_gpu_probe(OpenSwmmGpuProbe *out)
Query the plugin for a usable GPU device.
Definition GpuPluginCuda.cpp:45
OpenSwmmGpuVendor
Definition GpuPluginAbi.h:63
@ OPENSWMM_GPU_VENDOR_OPENMP
Definition GpuPluginAbi.h:68
@ OPENSWMM_GPU_VENDOR_HIP
Definition GpuPluginAbi.h:66
@ OPENSWMM_GPU_VENDOR_CUDA
Definition GpuPluginAbi.h:65
@ OPENSWMM_GPU_VENDOR_SYCL
Definition GpuPluginAbi.h:67
@ OPENSWMM_GPU_VENDOR_NONE
Definition GpuPluginAbi.h:64
OPENSWMM_GPU_ABI void * openswmm_make_gpu_inertial_solver(const OpenSwmmGpuProbe *probe)
Construct the GPU LOCAL-INERTIAL surface solver (MOMENTUM=inertial).
Definition GpuPluginOmp.cpp:77
OPENSWMM_GPU_ABI void * openswmm_make_gpu_surface_solver(const OpenSwmmGpuProbe *probe)
Construct the GPU surface solver.
Definition GpuPluginCuda.cpp:71
#define OPENSWMM_GPU_ABI
Definition GpuPluginAbi.h:50
Definition GpuPluginAbi.h:72
unsigned long long device_mem_bytes
Definition GpuPluginAbi.h:77
int device_count
Definition GpuPluginAbi.h:74
char device_name[128]
Definition GpuPluginAbi.h:76
int abi_version
Definition GpuPluginAbi.h:73
int vendor
Definition GpuPluginAbi.h:75