# Function core::arch::nvptx::free[−][src]

    pub unsafe extern "C" fn free(ptr: *mut c_void)

🔬 This is a nightly-only experimental API. (`stdsimd` #48556)
This is supported on `target_arch="nvptx"` or `target_arch="nvptx64"` only.

Free previously dynamically allocated memory.

The CUDA in-kernel `free()` function deallocates the memory pointed to by `ptr`, which must have been returned by a previous call to `malloc()`. If `ptr` is NULL, the call to `free()` is ignored.

Any CUDA thread may free memory allocated by another thread, but care should be taken to ensure that the same pointer is not freed more than once. Repeated calls to `free()` with the same `ptr` has undefined behavior.

Sources: Programming Guide, PTX Interoperability.