Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /HeterogeneousTest/AlpakaWrapper/README.md is written in an unsupported language. File is not indexed.

0001 # Introduction
0002 
0003 The packages `HeterogeneousTest/AlpakaDevice`, `HeterogeneousTest/AlpakaKernel`,
0004 `HeterogeneousTest/AlpakaWrapper` and `HeterogeneousTest/AlpakaOpaque` implement a set of libraries,
0005 plugins and tests to exercise the build rules for Alpaka.
0006 In particular, these tests show what is supported and what are the limitations implementing
0007 Alpaka-based libraries, and using them from multiple plugins.
0008 
0009 
0010 # `HeterogeneousTest/AlpakaWrapper`
0011 
0012 The package `HeterogeneousTest/AlpakaWrapper` implements a library that defines and exports
0013 host-side wrappers that launch the kernels defined in the `HeterogeneousTest/AlpakaKernel` library:
0014 ```c++
0015 namespace ALPAKA_ACCELERATOR_NAMESPACE::test {
0016 
0017   void wrapper_add_vectors_f(...);
0018   void wrapper_add_vectors_d(...);
0019 
0020 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE::test
0021 ```
0022 These wrappers can be used from host-only, non-Alpaka aware libraries, plugins and applications.
0023 They can be linked with the standard host linker.
0024 
0025 The `plugins` directory implements the `AlpakaTestWrapperAdditionModule` `EDAnalyzer` that calls the
0026 wrappers defined in this library. This plugin shows how the wrappers can be used directly from a
0027 host-only, non-Alpaka aware plugin.
0028 
0029 The `test` directory implements the `testAlpakaDeviceAdditionWrapper` test binary that calls the
0030 wrappers defined in this library, and shows how they can be used directly from a host-only,
0031 non-Alpaka aware application.
0032 It also contains the `testAlpakaTestWrapperAdditionModule.py` python configuration to exercise the
0033 `AlpakaTestWrapperAdditionModule` module.
0034 
0035 
0036 # Other packages
0037 
0038 For various ways in which this library and plugin can be tested, see also the other
0039 `HeterogeneousTest/Alpaka...` packages:
0040   - [`HeterogeneousTest/AlpakaDevice/README.md`](../../HeterogeneousTest/AlpakaDevice/README.md)
0041   - [`HeterogeneousTest/AlpakaKernel/README.md`](../../HeterogeneousTest/AlpakaKernel/README.md)
0042   - [`HeterogeneousTest/AlpakaOpaque/README.md`](../../HeterogeneousTest/AlpakaOpaque/README.md)
0043 
0044 
0045 # Combining plugins
0046 
0047 `HeterogeneousTest/AlpakaOpaque/test` contains the `testAlpakaTestAdditionModules.py` python
0048 configuration that exercise all four plugins in a single application.