Porting notes

Here are some initial notes on porting issues.

They’re still extremely incomplete (and haven’t been latex or doxygen-ised), but since people seemed to want something sooner rather than later maybe they’ll help.

– Jim

James Cownie james.h.cownie@intel.com
SSG/DPD/TCAR (Technical Computing, Analyzers and Runtimes)

Tel: +44 117 9071438

Porting.txt (2.71 KB)

Hi,

I particularly noticed this:

The runtime uses a variety of atomic operations; you'll need to work
out how to implement them. They're used to implement locks and to
implement atomic operations for the compiler. (#pragma omp atomic). A
"compare and swap" is particularly useful here if you have
one. Otherwise you may have to using locking to guard the operation,
however that is normally significantly slower than a single atomic
operation or a CAS.

Is there a reason that we can't use the C11 atomic types and operations, since the compiler (or support library) already provides efficient implementations of these.

David

Probably no reason; just work.

-- Jim

James Cownie <james.h.cownie@intel.com>
SSG/DPD/TCAR (Technical Computing, Analyzers and Runtimes)
Tel: +44 117 9071438