Skip to content

bartlettroscoe/kokkos

 
 

Repository files navigation

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. 

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 comprehensive programming guide is currently under preparation and should be 
available within the next few weeks.

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============================================================
============================================================================

Compilers (officially supported):
  GCC 4.7.2 or higher
  Intel 14.0 or higher
  CUDA 6.5 or higher

============================================================================
====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 --kokkos-path=KOKKOS_PATH
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 --kokkos-path=KOKKOS_PATH --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 reqyure Tribits and are used
for integration with Trilinos. They do not currently support a standalone
CMake build.


About

Core repository for Kokkos software

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 95.8%
  • Shell 2.4%
  • Other 1.8%