Does cudaMallocHost still works on CC mode

when CC mode off,user can fill && pass memory returned from cudaMallocHost to cuda kernel, what if CC mode is on?in this situation user write plaintext to memory returned from cudaMallocHost, can this memory be passed to cuda kernel directly?

From Sudeshna G

cudaMallocHost is supported in CC mode, and can be filled by the user and passed into a GPU kernel. Such pinned host memory is treated as managed memory in Hopper CC mode. When accessed from the GPU, the driver migrates the memory contents securely from CPU to GPU, and vice versa. Confidentiality of the contents of the allocated memory is maintained. Refer to the section “Developer Considerations” in the whitepaper Confidential Compute on NVIDIA Hopper H100

do you mean nv confidential computing is rely on UVM? what if no UVM situation?

Yes, Hopper GPU compute relies on UVM, so does confidential computing, as explained in the whitepaper above. What is a “no uvm situation” at your end ?

I mean alloc memory from cudaMallocHost and use cudaMemcpyAsync to move data to device,this is what i said ‘no uvm situation‘ as data is explicitly moved by calling API.
Another example is alloc memory from cudaMallocHost and direct reference it in cuda kernel,how could cuda encrypt the memory in both mentioned examples?

Both models of data transfer are supported in Hopper Confidential Computing - allocating as pinned host memory via cudaMallocHost, followed by transferring explicitly via cudaMemcpyAsync, and also, allocating via cudaMallocHost, followed by accessing via a pointer in a CUDA kernel. In both cases the drivers will securely transfer the data from host to device. The application does not need to change to run in CC mode.

this paper said buffer from cudaMallocHost is not Migratable: Simplifying GPU Application Development with Heterogeneous Memory Management | NVIDIA Technical Blog
so with above model in Hopper,how/when does driver encrypt the buffer (allocate with cudaMallocHost )without page migrate support?