mirror of
https://github.com/NVIDIA/cuda-samples.git
synced 2026-10-13 00:08:26 +08:00
CUDA 13.4 samples update - v13.4-public
Release 13.4 of the CUDA Samples supported by CUDA Toolkit 13.4. See Changelog for more information.
This commit is contained in:
@@ -112,12 +112,12 @@ When returning a zero-copy view, the caller must close the buffers after use (e.
|
||||
|
||||
### Platform Support:
|
||||
|
||||
This sample relies on `ManagedMemoryResource` with **concurrent host access**
|
||||
to managed allocations while GPU kernels are in flight. That behavior
|
||||
requires the device property `concurrent_managed_access=True`, which is only
|
||||
supported on Linux with HMM (Pascal and newer). On Windows (WDDM/MCDM/TCC)
|
||||
the property is `False`, so the sample exits early with a waive message and
|
||||
exit code `2` instead of attempting a run that would crash the process.
|
||||
This sample builds host NumPy views over managed allocations, which requires
|
||||
the device property `concurrent_managed_access=True`. Devices that report
|
||||
`False` — Windows (WDDM/MCDM/TCC), and older integrated GPUs such as Jetson
|
||||
Orin — keep managed allocations GPU-exclusive, so the sample reports the
|
||||
missing capability and exits with code `2` instead of attempting a run that
|
||||
would crash the process.
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -174,4 +174,4 @@ Verifying result...
|
||||
- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/)
|
||||
- [cuda.core.Program](https://nvidia.github.io/cuda-python/cuda-core/latest/generated/cuda.core.Program.html)
|
||||
- [cuda.core.ManagedMemoryResource](https://nvidia.github.io/cuda-python/cuda-core/latest/generated/cuda.core.ManagedMemoryResource.html)
|
||||
- [CUDA Managed Memory](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-unified-memory-programming-hd)
|
||||
- [CUDA Managed Memory](https://docs.nvidia.com/cuda/cuda-programming-guide/04-special-topics/unified-memory.html#unified-memory)
|
||||
|
||||
@@ -197,14 +197,6 @@ def main():
|
||||
3. Unified memory with cuda.core.ManagedMemoryResource
|
||||
4. Kernel launch with cuda.core.launch and LaunchConfig
|
||||
"""
|
||||
if sys.platform == "win32":
|
||||
print(
|
||||
"This sample relies on ManagedMemoryResource with concurrent host "
|
||||
"access, which is not supported on Windows "
|
||||
"(concurrent_managed_access=False). Waiving this sample."
|
||||
)
|
||||
sys.exit(2)
|
||||
|
||||
print("=" * 60)
|
||||
print("Image Blur with Unified Memory (cuda.core)")
|
||||
print("=" * 60)
|
||||
@@ -213,6 +205,13 @@ def main():
|
||||
device = Device(0)
|
||||
device.set_current()
|
||||
|
||||
# This sample builds host NumPy views over managed memory. Devices without
|
||||
# concurrent managed access keep managed allocations GPU-exclusive while
|
||||
# the GPU is active, so those host views fault.
|
||||
if not device.properties.concurrent_managed_access:
|
||||
print("Concurrent managed memory access is not supported on this platform.")
|
||||
sys.exit(2)
|
||||
|
||||
print(f"\nDevice: {device.name}")
|
||||
print(f"Compute Capability: sm_{device.arch}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user