01-16-2021 10:27 AM
Hello,
I am receiving the following error while trying to modify my Vitis 2020.1 code to work with multiple compute units. I copied the host code from the Vitis_Accel_Examples/host/mult_compute_units example.
[XRT] WARNING: unaligned host pointer '0xAddress' detected, this leads to extra memcpy
[XRT] WARNING: unaligned host pointer '0xAddress' detected, this leads to extra memcpy
[XRT] WARNING: unaligned host pointer '0xAddress' detected, this leads to extra memcpy
The software emulation gives me the correct results but I am afraid it will not work with the hardware execution. What could be the possible reason causing this issue ?
Thank you
01-18-2021 12:49 AM
Do you change the data size? please refer to https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_2/ug1393-vitis-application-acceleration.pdf page 72
01-18-2021 02:37 AM
Hello yangc,
Thank you for your answer, Yes I have changed the sizes and I am afraid the page on the document did not help me as it is only for running a single time.
What I am trying to achieve is:
I have A[100] # Defined as std::vector
I want to create 4 compute units with
Compute Unit 1 will receive from A[0] to A[25]
Compute Unit 2 will receive from A[25] to A[50]
...
Then the kernel each time generates the computation results like A[0] * 2, A[1]* 2, etc.
At the end these partial results will be stored in C[100] in the host
I have achieved the correct results for 4 compute units but I am receiving this warning I mentioned in the first post, also when I change the number of compute units the results don't match.
01-18-2021 05:28 AM
Hi @keanfj421ss ,
You can refer the following multiple compute units as reference :
https://github.com/Xilinx/Vitis_Accel_Examples/tree/master/host/mult_compute_units
Thanks,
Vishnu
-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
01-18-2021 11:24 AM
Hello @bchebrol
I am following the same example, With some investigation I think I am having issue with conversion of data types. My kernel accepts data as an input of ap_uint<128> and the host has data type of uint8_t.
How can I link those data types or what data type I shall convert uint8_t to fix this error ?