[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

Array access

Any technical questions about the Epiphany chip and Parallella HW Platform.

Moderator: aolofsson

Array access

Postby Farzaneh » Sat Dec 31, 2016 2:56 am

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.
Farzaneh
 
Posts: 13
Joined: Thu Dec 22, 2016 5:44 am

Re: Array access

Postby jar » Sat Dec 31, 2016 10:18 pm

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.
User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am

Re: Array access

Postby Farzaneh » Mon Jan 02, 2017 6:14 am

Farzaneh
 
Posts: 13
Joined: Thu Dec 22, 2016 5:44 am

Re: Array access

Postby theover » Mon Jan 02, 2017 8:25 pm

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.
theover
 
Posts: 181
Joined: Mon Dec 17, 2012 4:50 pm

Re: Array access

Postby Farzaneh » Tue Jan 03, 2017 4:00 am

It is better than blocking CPU and getting access from main memory.
Farzaneh
 
Posts: 13
Joined: Thu Dec 22, 2016 5:44 am


Return to Epiphany and Parallella Q & A

Who is online

Users browsing this forum: No registered users and 2 guests

cron