To: J3 J3/19-262 From: Bill Long & Lorri Menard Subject: Report for OpenMP Date: 2019-October-24 OpenMP will be releasing 5.1 at Super Computing (SC) in 2020. There will be a TR (TR8) released at SC this year, and a final comment draft should be released in June or July of next year. There was a face-to-face meeting last month in New Zealand in which quite a bit of progress was made on various topics. TR8 will include the following new features that should be available in OpenMP 5.1: * a new construct, interop, that enables interoperability with a foreign execution context (e.g. a CUDA stream) * tile directive for directing the compiler to tile a loop nest. * an assume directive for specifying invariants than the implementation can assume will hold, for enabling optimization. * asynchronous versions of device memory routines * environment variables for controlling execution behavior on accelerators * a new construct, scope, that allows reductions to be defined in the middle of a parallel region * support for indirect calls with function/procedure pointers in a target region * extension for declare variants to enables functions defined in a section of code to only be invoked in a particular, specified context (e.g. specialized math functions to be used when called from a particular device) Some other things that are likely to make it into 5.1, but not the TR: * define behavior with BLOCK construct * define behavior with DO CONCURRENT * allow array assignment according teams * allow work-sharing for array assignment in a TEAMS construct, the way WORKSHARE presently allows it for a PARALLEL construct. * unroll directive