Next Meeting : May 6th
Opens:
· non-contiguous target update
Chi Chun present a mechanism to support non-contiguous target update. (See attached slides target_update_noncontiguous)
Involves adding a new map type OMP_TGT_MAPTYPE_DESCRIPTOR to libomptarget.
Passing an array of descriptor as the “args” argument and the dimension in “args_size” argument.
HPE will be implementing as everybody agreed on the design.
OpenMP is not clear when an update is requested with size larger than the size on the device. Need to get clarification from OpenMP.
· Long double support
Currently during target compilation the aux target size is used for long double
case BuiltinType::LongDouble:
if (getLangOpts().OpenMP && getLangOpts().OpenMPIsDevice)
return AuxTarget->getLongDoubleFormat();
What if the host was compiled with to use a different size eg: -mlong-double-64, then the size on host and target will be different.
We agreed that above code should use target size and its users/compilers responsibility to make sure the same flag -mlong-double-64 is used during host and target compilation.
Johannes requested that SYCLl should use OpenMP method of implementation of only erroring of unsupported device types if only used in device code. If only host code uses it then it should not error.
· Async Offloading.
Ravi presented async offloading using detached tasks. (See attached slides openmp_async_offload)
Johannes said the implementation by Shilei is similar except the servicing of these async target tasks are done by specially created detached threads.
The detached threads schedule the async target task and wait for it to be completed without effecting other openmp threads.
When will these detached threads be created : Options are they can be created during startup or when needed.
How many detached threads are created : As many as the number of simultaneous parallel offload required. Theorical max could be number of queues/pipes.
What is the cost of these threads : Will have a better picture in couple of weeks are implementing and running performance measurements.
Roll Call :
target_update_noncontiguous.pptx (46.9 KB)
openmp_async_offload.pdf (128 KB)