segment variables. PRM specs defines function and module scope group segment variables as an experimental feature. However, PRM test suite uses and hcc relies on them. In addition, hcc assumes certain group variable layout in its dynamic group segment allocation code. We cannot have global group memory offsets if we want to both have kernel-specific group segment size and multiple kernels calling the same functions that use function scope group memory variables. Now group segment is handled by separate book keeping of module scope and function (kernel) offsets. Each function has a "frame" in the group segment offset to which is given as an argument. From-SVN: r253233 |
||
---|---|---|
.. | ||
include/internal | ||
rt | ||
ChangeLog | ||
Makefile.am | ||
Makefile.in | ||
README | ||
aclocal.m4 | ||
configure | ||
configure.ac | ||
configure.tgt | ||
target-config.h.in |
README
This library implements the agent-side runtime functionality required to run HSA finalized programs produced by the BRIG frontend. The library contains both the code required to run kernels on the agent and also functions implementing more complex HSAIL instructions. rt/workitems.c contains the runtime entry function that manages multiple work-item execution using fibers or simple for-loops (in case of work groups without barriers). Otherwise, the rest of the source files mostly contain functions that typically map directly to HSAIL instructions.