Common memory

Dear all,
i have the board Tegra x1 which i think is similar to Jetson TX1. I see the at the white paper of Tegra x1, GPU and CPUs share a common DRAM.
Due to this i have the following questions:

  1. Is there any PCI-express on the board?

  2. If there is not, when i transfer data from host to device with the instruction:
    cudaMemcpy(d_A, h_A, nBytes, cudaMemcpyHostToDevice);
    how is this implemented on our board? I mean generally with this instruction data is transfered via
    PCI-express. In our board which does not have PCI-express how is it implemented?

  3. I am courius about generally the ways of transfer on Jetson tx1. How are implemented the ways
    Pinned, UVA, Unified and Zero-Copy Memory as we have a common memory between cpu and gpu.

Thank you in advance!!

Hi,

For Q3, it’s recommended to try our MMAPI sample first.
Optimized memory type depends on the use-case you want to implement.

If you are using camera as input, you can try MMAPI to have a zero-copy pipeline with EGL.
Q1 and Q2 will be answered by another moderator.

Thanks.

Thank you for your answer!

Any ideas about question 1 and 2 please?
I am stuck.

  1. Is there any PCI-express on the board?
    -> Yes, we have 4 lane PCIe port enabled on devkit.

  2. If there is not, when i transfer data from host to device with the instruction:
    cudaMemcpy(d_A, h_A, nBytes, cudaMemcpyHostToDevice);

-> Why do you need PCIe in this case? As your previous comment that you know tegra GPU and CPUs share a common DRAM. Cuda driver would handle the rest of issue in your memcpy call.