lammps/lib/kokkos
stamoor 4e757218e4 Adding missing Kokkos file
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13636 f3b2605a-c512-4ea7-a41b-209d697bcdaa
2015-07-17 16:17:51 +00:00
..
algorithms git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
config Adding missing Kokkos file 2015-07-17 16:17:51 +00:00
containers git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
core git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
doc git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
Copyright.txt git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
LICENSE git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
Makefile.kokkos git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
Makefile.targets git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
README git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00
generate_makefile.bash git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13583 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2015-07-14 19:57:25 +00:00

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.