[Openmp-dev] Where are the ICV and runtime functions defined?
Hahnfeld, Jonas via Openmp-dev
openmp-dev at lists.llvm.org
Wed Jul 19 01:09:00 PDT 2017
I assume you are talking about using OpenCL to implement the target constructs aka offloading?
There are two things:
1) You need a plugin for libomptarget that handles the mapping from the target agnostic runtime entry points to the OpenCL runtime. There are already some committed to SVN (generic ELF one for x86 and ppc and one for CUDA)
2) You need an OpenMP runtime that can be linked to implement device side functions. For x86, the same runtime is used as on the host (libomp). The NVPTX implementation is currently under review: https://reviews.llvm.org/D14254
Does that answer your questions?
From: Openmp-dev [mailto:openmp-dev-bounces at lists.llvm.org] On Behalf Of Daniel Schürmann via Openmp-dev
Sent: Tuesday, July 18, 2017 5:25 PM
To: via Openmp-dev <openmp-dev at lists.llvm.org>
Subject: [Openmp-dev] Where are the ICV and runtime functions defined?
now, that I'm making progress with my OpenCL/SPIR-V implementation (I got a running subset with proper parallelisation), I seem to get blind on both eyes when it comes to finding things.
I would be very thankful, if someone could tell me, where to implement the ICVs and runtime functions (I mean the ones defined in the specification). Or are they implemented once and not per target platform?
Also, I'm not sure, if the runtime functions should be callable from target region, but it seems so. This would mean that I have to write some SPIR-V functions for each declared function in omp.h. Where do I put these?
Thanks in advance,
Openmp-dev mailing list
Openmp-dev at lists.llvm.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 5792 bytes
Desc: not available
More information about the Openmp-dev