[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - Array access
Page 1 of 1

Array access

PostPosted: Sat Dec 31, 2016 2:56 am
by Farzaneh
Dear Forum members.

I am trying to perform array access in the column fashion. Existing e_dma_copy function can only copy values in the row major form. Hence, I have to use a for loop to access variables in the column major form and copy to local memory. I would like to know if there is any neat way of doing this without modifying the input?

Any help really appreciated.

Re: Array access

PostPosted: Sat Dec 31, 2016 10:18 pm
by jar
You're looking for the 2D DMA. Fasten your seat belt. It's not trivial, but here's some guidance: viewtopic.php?f=23&t=1936&p=11769

You can do some interesting things with the 2D DMA, but what you're asking for should be straight forward.

Re: Array access

PostPosted: Mon Jan 02, 2017 6:14 am
by Farzaneh

Re: Array access

PostPosted: Mon Jan 02, 2017 8:25 pm
by theover
How about efficiency ? I mean bandwidth and nomenclature here aren't necessarily optimal: it's DMA that transfers data from a memory or device to memory or device, but it has to flow over the Epiphany network, the FPGA serializer blocks as well as the Epiphany memory-to-network unit and the (most appropriately so called) ARM Zynq processor DMA unit.

I get it that the way to access data from a large in memory data set as columns or rows in a fixed sized array holds some interest, but all these operations involved aren't the same tradeoffs as a "regular" DMA engine, where it's about memory banks and pages, startup time, possibly the data elements size, and the provisions of the cache(s) that can accelerate certain parts of the data access.

Purely as a tool to instruct the Parallella's infrastructure to feed you a stride vector, fine, of course.

Theo V.

Re: Array access

PostPosted: Tue Jan 03, 2017 4:00 am
by Farzaneh
It is better than blocking CPU and getting access from main memory.