Many runtime libraries exist to easy the programmability of current multi-cores and future multi-multi-cores. Most of them expose to the programmers a high level interface, therefore leaving a lot of internal overhead to the runtime libraries: e.g. OpenMP, Cilk, TBB, SWARM ... just to name a few.
However, as of my knowledge, none of them is designed to offer a very low level API that could be targeted on one side by compilers and that could be easily migrated in future processor through, e.g., a simple Instruction Set Extension (ISE) of an existing ISA (e.g. X86 or ARM).... read more