cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
keanfj421ss
Participant
Participant
262 Views
Registered: ‎07-31-2020

[XRT] Unaligned Host Pointer

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

0 Kudos
Reply
4 Replies
yangc
Xilinx Employee
Xilinx Employee
162 Views
Registered: ‎02-27-2019

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

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
keanfj421ss
Participant
Participant
155 Views
Registered: ‎07-31-2020

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.

 

0 Kudos
Reply
bchebrol
Xilinx Employee
Xilinx Employee
142 Views
Registered: ‎06-04-2018

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.
-------------------------------------------------------------------------

0 Kudos
Reply
keanfj421ss
Participant
Participant
121 Views
Registered: ‎07-31-2020

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 ?

0 Kudos
Reply