C++-AMP, templated code, start e-core from pointer in host's

Discussion about Parallella (and Epiphany) Software Development

Moderators: amylaar, jeremybennett, simoncook

C++-AMP, templated code, start e-core from pointer in host's

Postby dobkeratops » Sun Aug 23, 2015 6:29 pm

Last edited by dobkeratops on Mon Aug 24, 2015 10:46 am, edited 8 times in total.
dobkeratops
 
Posts: 189
Joined: Fri Jun 05, 2015 6:42 pm
Location: uk

Re: C++-AMP, templated code, start e-core from pointer in ho

Postby markd » Mon Aug 24, 2015 5:18 am

Have you looked at the Thrust library? ( https://github.com/thrust/thrust )
It uses templates for GPU programming.
It also has some backends for TBB and OpenMP.

The interesting case is where it targets a CUDA backend, since that has the same issue with different host/target architectures.

Based on cursory examination, it appears to use the ability of NVCC to separate the code into host and target pieces to compile separately, apparently based on directives. Maybe this could be replicated with appropriate preprocessor macros? The build step would require two compile passes - one with the ARM host compiler, and one with the Epiphany target compiler, but that doesn't seem too bad.

The other issue is overhead from using the C++ for the target. I have no idea how much that might be.
markd
 
Posts: 11
Joined: Mon Dec 17, 2012 3:28 am

Re: C++-AMP, templated code, start e-core from pointer in ho

Postby dobkeratops » Mon Aug 24, 2015 8:25 am

dobkeratops
 
Posts: 189
Joined: Fri Jun 05, 2015 6:42 pm
Location: uk


Return to Programming Q & A

Who is online

Users browsing this forum: No registered users and 14 guests