forked from lijiext/lammps
![]() git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13636 f3b2605a-c512-4ea7-a41b-209d697bcdaa |
||
---|---|---|
.. | ||
algorithms | ||
config | ||
containers | ||
core | ||
doc | ||
Copyright.txt | ||
LICENSE | ||
Makefile.kokkos | ||
Makefile.targets | ||
README | ||
generate_makefile.bash |
README
Kokkos implements a programming model in C++ for writing performance portable applications targeting all major HPC platforms. For that purpose it provides abstractions for both parallel execution of code and data management. Kokkos is designed to target complex node architectures with N-level memory hierarchies and multiple types of execution resources. It currently can use OpenMP, Pthreads and CUDA as backend programming models. The core developers of Kokkos are Carter Edwards and Christian Trott at the Computer Science Research Institute of the Sandia National Laboratories. The KokkosP interface and associated tools are developed by the Application Performance Team and Kokkos core developers at Sandia National Laboratories. To learn more about Kokkos consider watching one of our presentations: GTC 2015: http://on-demand.gputechconf.com/gtc/2015/video/S5166.html http://on-demand.gputechconf.com/gtc/2015/presentation/S5166-H-Carter-Edwards.pdf A programming guide can be found under doc/Kokkos_PG.pdf. This is an initial version and feedback is greatly appreciated. For questions please send an email to kokkos-users@software.sandia.gov For non-public questions send an email to hcedwar(at)sandia.gov and crtrott(at)sandia.gov ============================================================================ ====Requirements============================================================ ============================================================================ Primary tested compilers are: GCC 4.7.2 GCC 5.1.0 Intel 14.0.1 Intel 15.0.1 Clang 3.7.0 Secondary tested compilers are: CUDA 6.5 CUDA 7.0 Primary tested compiler are passing in release mode with warnings as errors. We are using the following set of flags: GCC: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized Intel: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized Clang: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized ============================================================================ ====Getting started========================================================= ============================================================================ In the 'example/tutorial' directory you will find step by step tutorial examples which explain many of the features of Kokkos. They work with simple Makefiles. To build with g++ and OpenMP simply type 'make openmp' in the 'example/tutorial' directory. This will build all examples in the subfolders. ============================================================================ ====Running Unit Tests====================================================== ============================================================================ To run the unit tests create a build directory and run the following commands KOKKOS_PATH/generate_makefile.bash make build-test make test Run KOKKOS_PATH/generate_makefile.bash --help for more detailed options such as changing the device type for which to build. ============================================================================ ====Install the library===================================================== ============================================================================ To install Kokkos as a library create a build directory and run the following KOKKOS_PATH/generate_makefile.bash --prefix=INSTALL_PATH make lib make install KOKKOS_PATH/generate_makefile.bash --help for more detailed options such as changing the device type for which to build. ============================================================================ ====CMakeFiles============================================================== ============================================================================ The CMake files contained in this repository require Tribits and are used for integration with Trilinos. They do not currently support a standalone CMake build.