Skip to content

Commit 3fd1011

Browse files
committed
Don't remove existing API
1 parent 902406b commit 3fd1011

File tree

6 files changed

+49
-14
lines changed

6 files changed

+49
-14
lines changed

cuda_bindings/cuda/bindings/_internal/cufile.pxd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ cdef CUfileError_t _cuFileBufDeregister(const void* bufPtr_base) except?<CUfileE
1818
cdef ssize_t _cuFileRead(CUfileHandle_t fh, void* bufPtr_base, size_t size, off_t file_offset, off_t bufPtr_offset) except* nogil
1919
cdef ssize_t _cuFileWrite(CUfileHandle_t fh, const void* bufPtr_base, size_t size, off_t file_offset, off_t bufPtr_offset) except* nogil
2020
cdef CUfileError_t _cuFileDriverOpen() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
21-
cdef CUfileError_t _cuFileDriverClose() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
21+
cdef CUfileError_t _cuFileDriverClose_v2() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
2222
cdef long _cuFileUseCount() except* nogil
2323
cdef CUfileError_t _cuFileDriverGetProperties(CUfileDrvProps_t* props) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
2424
cdef CUfileError_t _cuFileDriverSetPollMode(cpp_bool poll, size_t poll_threshold_size) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
@@ -41,6 +41,7 @@ cdef CUfileError_t _cuFileGetParameterString(CUFileStringConfigParameter_t param
4141
cdef CUfileError_t _cuFileSetParameterSizeT(CUFileSizeTConfigParameter_t param, size_t value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
4242
cdef CUfileError_t _cuFileSetParameterBool(CUFileBoolConfigParameter_t param, cpp_bool value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
4343
cdef CUfileError_t _cuFileSetParameterString(CUFileStringConfigParameter_t param, const char* desc_str) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
44+
cdef CUfileError_t _cuFileDriverClose() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
4445
cdef CUfileError_t _cuFileGetParameterMinMaxValue(CUFileSizeTConfigParameter_t param, size_t* min_value, size_t* max_value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
4546
cdef CUfileError_t _cuFileSetStatsLevel(int level) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
4647
cdef CUfileError_t _cuFileGetStatsLevel(int* level) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil

cuda_bindings/cuda/bindings/_internal/cufile_linux.pyx

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ cdef void* __cuFileBufDeregister = NULL
6868
cdef void* __cuFileRead = NULL
6969
cdef void* __cuFileWrite = NULL
7070
cdef void* __cuFileDriverOpen = NULL
71+
cdef void* __cuFileDriverClose_v2 = NULL
7172
cdef void* __cuFileUseCount = NULL
7273
cdef void* __cuFileDriverGetProperties = NULL
7374
cdef void* __cuFileDriverSetPollMode = NULL
@@ -166,6 +167,13 @@ cdef int __check_or_init_cufile() except -1 nogil:
166167
handle = load_library()
167168
__cuFileDriverOpen = dlsym(handle, 'cuFileDriverOpen')
168169

170+
global __cuFileDriverClose_v2
171+
__cuFileDriverClose_v2 = dlsym(RTLD_DEFAULT, 'cuFileDriverClose_v2')
172+
if __cuFileDriverClose_v2 == NULL:
173+
if handle == NULL:
174+
handle = load_library()
175+
__cuFileDriverClose_v2 = dlsym(handle, 'cuFileDriverClose_v2')
176+
169177
global __cuFileUseCount
170178
__cuFileUseCount = dlsym(RTLD_DEFAULT, 'cuFileUseCount')
171179
if __cuFileUseCount == NULL:
@@ -454,6 +462,9 @@ cpdef dict _inspect_function_pointers():
454462
global __cuFileDriverOpen
455463
data["__cuFileDriverOpen"] = <intptr_t>__cuFileDriverOpen
456464

465+
global __cuFileDriverClose_v2
466+
data["__cuFileDriverClose_v2"] = <intptr_t>__cuFileDriverClose_v2
467+
457468
global __cuFileUseCount
458469
data["__cuFileUseCount"] = <intptr_t>__cuFileUseCount
459470

@@ -645,13 +656,13 @@ cdef CUfileError_t _cuFileDriverOpen() except?<CUfileError_t>CUFILE_LOADING_ERRO
645656
)
646657

647658

648-
cdef CUfileError_t _cuFileDriverClose() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil:
649-
global __cuFileDriverClose
659+
cdef CUfileError_t _cuFileDriverClose_v2() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil:
660+
global __cuFileDriverClose_v2
650661
_check_or_init_cufile()
651-
if __cuFileDriverClose == NULL:
662+
if __cuFileDriverClose_v2 == NULL:
652663
with gil:
653-
raise FunctionNotFoundError("function cuFileDriverClose is not found")
654-
return (<CUfileError_t (*)() noexcept nogil>__cuFileDriverClose)(
664+
raise FunctionNotFoundError("function cuFileDriverClose_v2 is not found")
665+
return (<CUfileError_t (*)() noexcept nogil>__cuFileDriverClose_v2)(
655666
)
656667

657668

@@ -876,6 +887,16 @@ cdef CUfileError_t _cuFileSetParameterString(CUFileStringConfigParameter_t param
876887
param, desc_str)
877888

878889

890+
cdef CUfileError_t _cuFileDriverClose() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil:
891+
global __cuFileDriverClose
892+
_check_or_init_cufile()
893+
if __cuFileDriverClose == NULL:
894+
with gil:
895+
raise FunctionNotFoundError("function cuFileDriverClose is not found")
896+
return (<CUfileError_t (*)() noexcept nogil>__cuFileDriverClose)(
897+
)
898+
899+
879900
cdef CUfileError_t _cuFileGetParameterMinMaxValue(CUFileSizeTConfigParameter_t param, size_t* min_value, size_t* max_value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil:
880901
global __cuFileGetParameterMinMaxValue
881902
_check_or_init_cufile()

cuda_bindings/cuda/bindings/cufile.pxd

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ cpdef str get_parameter_string(int param, int len)
7777
cpdef set_parameter_size_t(int param, size_t value)
7878
cpdef set_parameter_bool(int param, bint value)
7979
cpdef set_parameter_string(int param, intptr_t desc_str)
80-
cpdef driver_close()
8180
cpdef get_parameter_min_max_value(int param, intptr_t min_value, intptr_t max_value)
8281
cpdef set_stats_level(int level)
8382
cpdef int get_stats_level() except? 0

cuda_bindings/cuda/bindings/cufile.pyx

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,13 @@ cpdef stream_deregister(intptr_t stream):
12411241

12421242

12431243
cpdef int get_version() except? 0:
1244+
"""Get the cuFile library version.
1245+
1246+
Returns:
1247+
int: Pointer to an integer where the version will be stored.
1248+
1249+
.. seealso:: `cuFileGetVersion`
1250+
"""
12441251
cdef int version
12451252
with nogil:
12461253
__status__ = cuFileGetVersion(&version)
@@ -1291,12 +1298,6 @@ cpdef set_parameter_string(int param, intptr_t desc_str):
12911298
check_status(__status__)
12921299

12931300

1294-
cpdef driver_close():
1295-
with nogil:
1296-
__status__ = cuFileDriverClose()
1297-
check_status(__status__)
1298-
1299-
13001301
cpdef get_parameter_min_max_value(int param, intptr_t min_value, intptr_t max_value):
13011302
"""Get both the minimum and maximum settable values for a given size_t parameter in a single call.
13021303
@@ -1458,3 +1459,11 @@ cpdef str op_status_error(int status):
14581459
cdef bytes _output_
14591460
_output_ = cufileop_status_error(<_OpError>status)
14601461
return _output_.decode()
1462+
1463+
1464+
cpdef driver_close():
1465+
"""reset the cuFile library and release the nvidia-fs driver
1466+
"""
1467+
with nogil:
1468+
status = cuFileDriverClose_v2()
1469+
check_status(status)

cuda_bindings/cuda/bindings/cycufile.pxd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ cdef CUfileError_t cuFileBufDeregister(const void* bufPtr_base) except?<CUfileEr
333333
cdef ssize_t cuFileRead(CUfileHandle_t fh, void* bufPtr_base, size_t size, off_t file_offset, off_t bufPtr_offset) except* nogil
334334
cdef ssize_t cuFileWrite(CUfileHandle_t fh, const void* bufPtr_base, size_t size, off_t file_offset, off_t bufPtr_offset) except* nogil
335335
cdef CUfileError_t cuFileDriverOpen() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
336-
cdef CUfileError_t cuFileDriverClose() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
336+
cdef CUfileError_t cuFileDriverClose_v2() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
337337
cdef long cuFileUseCount() except* nogil
338338
cdef CUfileError_t cuFileDriverGetProperties(CUfileDrvProps_t* props) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
339339
cdef CUfileError_t cuFileDriverSetPollMode(cpp_bool poll, size_t poll_threshold_size) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
@@ -356,6 +356,7 @@ cdef CUfileError_t cuFileGetParameterString(CUFileStringConfigParameter_t param,
356356
cdef CUfileError_t cuFileSetParameterSizeT(CUFileSizeTConfigParameter_t param, size_t value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
357357
cdef CUfileError_t cuFileSetParameterBool(CUFileBoolConfigParameter_t param, cpp_bool value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
358358
cdef CUfileError_t cuFileSetParameterString(CUFileStringConfigParameter_t param, const char* desc_str) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
359+
cdef CUfileError_t cuFileDriverClose() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
359360
cdef CUfileError_t cuFileGetParameterMinMaxValue(CUFileSizeTConfigParameter_t param, size_t* min_value, size_t* max_value) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
360361
cdef CUfileError_t cuFileSetStatsLevel(int level) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil
361362
cdef CUfileError_t cuFileGetStatsLevel(int* level) except?<CUfileError_t>CUFILE_LOADING_ERROR nogil

cuda_bindings/cuda/bindings/cycufile.pyx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ cdef CUfileError_t cuFileDriverOpen() except?<CUfileError_t>CUFILE_LOADING_ERROR
4141
return _cufile._cuFileDriverOpen()
4242

4343

44+
cdef CUfileError_t cuFileDriverClose_v2() except?<CUfileError_t>CUFILE_LOADING_ERROR nogil:
45+
return _cufile._cuFileDriverClose_v2()
46+
47+
4448
cdef long cuFileUseCount() except* nogil:
4549
return _cufile._cuFileUseCount()
4650

0 commit comments

Comments
 (0)