The complexity of implementing many of these programming models is significantly reduced by using application frameworks.
One such framework is the Accelerated Library Framework (ALF). This framework provides a set of functions to help programmers solve data parallel computation problems on hybrid systems using a single-program-multiple-data (SPMD) programming style. Features include architecturally independent data transfer management, parallel task management, multi-buffering, and data partitioning.
For further details about the ALF, refer to the Accelerated Library Framework, User's Guide.