The API layer performs argument validation and error handling, split operations into simpler components, and finally dispatches the low-level Compute functions that perform the actual number crunching.
The API-level functions are called drivers for the low-level operations. In many cases the low-level interface provides small pieces that together make an API function. The rationale behind this is to separate the parts that are platform-dependent from the parts that are not. The things belonging to the API layer can be separated into three distinct categories:
Everything that should be implemented differently on different platforms, i.e. SSE and non-SSE, belong to the low-level Compute domain. For more information about the RAPP API, see the RAPP User's Manual.