7 #include <kvikio/shim/cufile_h_wrapper.hpp>
8 #include <kvikio/shim/utils.hpp>
21 decltype(cuFileHandleRegister)* HandleRegister{
nullptr};
22 decltype(cuFileHandleDeregister)* HandleDeregister{
nullptr};
23 decltype(cuFileRead)* Read{
nullptr};
24 decltype(cuFileWrite)* Write{
nullptr};
25 decltype(cuFileBufRegister)* BufRegister{
nullptr};
26 decltype(cuFileBufDeregister)* BufDeregister{
nullptr};
27 decltype(cuFileDriverGetProperties)* DriverGetProperties{
nullptr};
28 decltype(cuFileDriverSetPollMode)* DriverSetPollMode{
nullptr};
29 decltype(cuFileDriverSetMaxCacheSize)* DriverSetMaxCacheSize{
nullptr};
30 decltype(cuFileDriverSetMaxPinnedMemSize)* DriverSetMaxPinnedMemSize{
nullptr};
31 decltype(cuFileBatchIOSetUp)* BatchIOSetUp{
nullptr};
32 decltype(cuFileBatchIOSubmit)* BatchIOSubmit{
nullptr};
33 decltype(cuFileBatchIOGetStatus)* BatchIOGetStatus{
nullptr};
34 decltype(cuFileBatchIOCancel)* BatchIOCancel{
nullptr};
35 decltype(cuFileBatchIODestroy)* BatchIODestroy{
nullptr};
36 decltype(cuFileReadAsync)* ReadAsync{
nullptr};
37 decltype(cuFileWriteAsync)* WriteAsync{
nullptr};
38 decltype(cuFileStreamRegister)* StreamRegister{
nullptr};
39 decltype(cuFileStreamDeregister)* StreamDeregister{
nullptr};
43 decltype(cuFileDriverOpen)* DriverOpen{
nullptr};
44 decltype(cuFileDriverClose)* DriverClose{
nullptr};
47 decltype(cuFileGetVersion)* GetVersion{
nullptr};
57 void operator=(
cuFileAPI const&) =
delete;
59 void operator=(
cuFileAPI const&&) =
delete;
61 KVIKIO_EXPORT
static cuFileAPI& instance();
84 #ifdef KVIKIO_CUFILE_FOUND
Shim layer of the cuFile C-API.
void driver_open()
Open the cuFile driver.
void driver_close()
Close the cuFile driver.
constexpr bool is_cufile_library_available() noexcept
Check if the cuFile library is available.
bool is_cufile_available() noexcept
Check if the cuFile is available and expected to work.
bool is_stream_api_available() noexcept
Check if cuFile's stream (async) API is available.
bool is_batch_api_available() noexcept
Check if cuFile's batch API is available.
int cufile_version() noexcept
Get cufile version (or zero if older than v1.8).