GPU IO Driver API#
|
ROCprofiler-SDK developer API 1.4.1
ROCm Profiling API and tools
|
Data Structures | |
| struct | hipFileDriverProps_t |
| GPU IO configuration. More... | |
| struct | hipFileDriverProps_t.nvfs |
| GPU IO Driver Configuration. More... | |
Enumerations | |
| enum | hipFileDriverStatusFlags_t { hipFileLustreSupported = 0 , hipFileWekaFSSupported = 1 , hipFileNFSSupported = 2 , hipFileGPFSSupported = 3 , hipFileNVMeSupported = 4 , hipFileNVMeoFSupported = 5 , hipFileSCSISupported = 6 , hipFileScaleFluxCSDSupported = 7 , hipFileNVMeshSupported = 8 , hipFileBeeGFSSupported = 9 , hipFileNVMeP2PSupported = 11 , hipFileScatefsSupported = 12 } |
| Filesystems/storage protocols supported by GPU IO on this system. More... | |
| enum | hipFileDriverControlFlags_t { hipFileUsePollMode = 0 , hipFileAllowCompatMode = 1 } |
| Control flags for passing to the GPU IO driver. More... | |
| enum | hipFileFeatureFlags_t { hipFileDynRoutingSupported = 0 , hipFileBatchIOSupported = 1 , hipFileStreamsSupported = 2 , hipFileParallelIOSupported = 3 } |
| GPU IO Transport & Features supported by the system. More... | |
Functions | |
| hipFileError_t | hipFileDriverOpen (void) |
| Initialize the GPU IO driver for this process. | |
| hipFileError_t | hipFileDriverClose (void) |
| Close the GPU IO driver for this process. | |
| int64_t | hipFileUseCount (void) |
| Obtain the current reference count for the library. | |
| hipFileError_t | hipFileDriverGetProperties (hipFileDriverProps_t *props) |
| Get a list of GPU IO driver properties. | |
| hipFileError_t | hipFileDriverSetPollMode (bool poll, unsigned long poll_threshold_size) |
| Enable/disable polling mode for GPU IO. | |
| hipFileError_t | hipFileDriverSetMaxDirectIOSize (unsigned long max_direct_io_size) |
| Set the maximum IO chunk size. | |
| hipFileError_t | hipFileDriverSetMaxCacheSize (unsigned long max_cache_size) |
| Set the maximum amount of GPU memory that can be used for bounce buffers. | |
| hipFileError_t | hipFileDriverSetMaxPinnedMemSize (unsigned long max_pinned_size) |
| Set the maximum amount of GPU memory that can be pinned. | |
Detailed Description
Data Structure Documentation
◆ hipFileDriverProps_t
| struct hipFileDriverProps_t |
Collaboration diagram for hipFileDriverProps_t:| Data Fields | ||
|---|---|---|
| unsigned | feature_flags | Bitfield that maps to hipFileFeatureFlags_t. |
| unsigned | max_batch_io_count | Maximum number of batch operations that can be submitted at once. |
| unsigned | max_batch_io_timeout_msecs | Timeout (in msec) for a batch operation to complete. |
| uint64_t | max_device_cache_size | Maximum amount of GPU memory (in KiB) that can be used for bounce buffers. |
| uint64_t | max_device_pinned_mem_size | Maximum amount of GPU memory (in KiB) that can be pinned. |
| struct hipFileDriverProps_t.nvfs | nvfs | GPU IO Driver Configuration. |
| uint64_t | per_buffer_cache_size | Amount of GPU memory (in KiB) allocated for each bounce buffer. |
◆ hipFileDriverProps_t.nvfs
| struct hipFileDriverProps_t.nvfs |
Collaboration diagram for hipFileDriverProps_t.nvfs:Enumeration Type Documentation
◆ hipFileDriverControlFlags_t
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Control flags for passing to the GPU IO driver.
| Enumerator | |
|---|---|
| hipFileUsePollMode | Enable polling for IO completion. |
| hipFileAllowCompatMode | Allow GPU IO to fall back to POSIX IO. |
Definition at line 314 of file hipfile.h.
◆ hipFileDriverStatusFlags_t
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Filesystems/storage protocols supported by GPU IO on this system.
- Note
- Value 10 is reserved for YRCloudFile
Definition at line 294 of file hipfile.h.
◆ hipFileFeatureFlags_t
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
GPU IO Transport & Features supported by the system.
Definition at line 323 of file hipfile.h.
Function Documentation
◆ hipFileDriverClose()
| hipFileError_t hipFileDriverClose | ( | void | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Close the GPU IO driver for this process.
Each call to hipFileDriverClose() decrements the library's reference count. If a call to hipFileDriverClose() results in the reference count transitioning from one to zero, the library's state will be destroyed.
Explicitly closing the library is not required; the library's state will be destroyed automatically at program exit.
- Returns
- \hipfile_error_return
◆ hipFileDriverGetProperties()
| hipFileError_t hipFileDriverGetProperties | ( | hipFileDriverProps_t * | props | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Get a list of GPU IO driver properties.
\warn_not_implemented
- Parameters
-
[out] props See hipFileDriverProps_tfor what properties are reported
- Returns
- \hipfile_error_return
◆ hipFileDriverOpen()
| hipFileError_t hipFileDriverOpen | ( | void | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Initialize the GPU IO driver for this process.
Each call to hipFileDriverOpen() increments the library's reference count. If a call to hipFileDriverOpen() results in the reference count transitioning from zero to one, the library's state will be initialized.
Calling hipFileDriverOpen() is optional. The first call to hipFileBufRegister() or hipFileHandleRegister() will trigger library initialization and increment the library's reference count.
- Returns
- \hipfile_error_return
◆ hipFileDriverSetMaxCacheSize()
| hipFileError_t hipFileDriverSetMaxCacheSize | ( | unsigned long | max_cache_size | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Set the maximum amount of GPU memory that can be used for bounce buffers.
\warn_not_implemented
- Parameters
-
[in] max_cache_size Maximum GPU memory (in KiB) that can be reserved for bounce buffers
- Returns
- \hipfile_error_return
◆ hipFileDriverSetMaxDirectIOSize()
| hipFileError_t hipFileDriverSetMaxDirectIOSize | ( | unsigned long | max_direct_io_size | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Set the maximum IO chunk size.
\warn_not_implemented
- Parameters
-
[in] max_direct_io_size Maximum IO chunk size (in KiB) for each IO request
- Returns
- \hipfile_error_return
◆ hipFileDriverSetMaxPinnedMemSize()
| hipFileError_t hipFileDriverSetMaxPinnedMemSize | ( | unsigned long | max_pinned_size | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Set the maximum amount of GPU memory that can be pinned.
\warn_not_implemented
- Parameters
-
[in] max_pinned_size Maximum GPU memory (in KiB) that can be pinned
- Returns
- \hipfile_error_return
◆ hipFileDriverSetPollMode()
| hipFileError_t hipFileDriverSetPollMode | ( | bool | poll, |
| unsigned long | poll_threshold_size | ||
| ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Enable/disable polling mode for GPU IO.
\warn_not_implemented
- Parameters
-
[in] poll trueto enable polling,falseto disable[in] poll_threshold_size Maximum IO size (in KiB) for which polling is used when enabled
- Returns
- \hipfile_error_return
◆ hipFileUseCount()
| int64_t hipFileUseCount | ( | void | ) |
#include <rocprofiler-sdk/hipfile/details/hipfile.h>
Obtain the current reference count for the library.
- Returns
- The library's reference count
Generated by