Why tx2 not support cudaHostRegister?

Hi,

I found when I use cudaHostRegister on my desktop which use rtx3060 the application is working, but when I use cudaHostRegister on jetson tx2, I got an error:

CUDA error at ../cuda_test.cu:59 code=801(cudaErrorNotSupported) "cudaHostRegister(data, size, cudaHostRegisterDefault)"
CUDA error at ../cuda_test.cu:59 code=801(cudaErrorNotSupported) "cudaHostRegister(data, size, cudaHostRegisterPortable)"
CUDA error at ../cuda_test.cu:59 code=801(cudaErrorNotSupported) "cudaHostRegister(data, size, cudaHostRegisterMapped)"
CUDA error at ../cuda_test.cu:59 code=801(cudaErrorNotSupported) "cudaHostRegister(data, size, cudaHostRegisterIoMemory)"

why tx2 not support cudaHostRegister? is there any other way to reduce memery copy?

thank you.

Hi,

You can find some details in the below document:

https://docs.nvidia.com/cuda/cuda-for-tegra-appnote/index.html

2.1. I/O Coherency

1. cudaHostRegister()/cuMemHostRegister() is supported only on platforms which are I/O coherent. The host register support can be queried using the device attribute cudaDevAttrHostRegisterSupported / CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED.

I/O coherent feature requires GPU architecture ≥ 7.2.
But TX2 GPU architecture is sm_62.

Maybe you can try unified memory as an alternative.

Thanks.

Thank you very much.