Commit d8bc590a authored by sjplimp's avatar sjplimp Committed by GitHub
Browse files

Merge pull request #327 from stanmoore1/kokkos_lib_update

Updating Kokkos lib
parents c9bea607 04fe0719
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -110,14 +110,14 @@ mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis :p
[Required hardware/software:]

Kokkos support within LAMMPS must be built with a C++11 compatible
compiler.  If using gcc, version 4.8.1 or later is required.
compiler.  If using gcc, version 4.7.2 or later is required.

To build with Kokkos support for CPUs, your compiler must support the
OpenMP interface.  You should have one or more multi-core CPUs so that
multiple threads can be launched by each MPI task running on a CPU.

To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software
version 6.5 or later must be installed on your system.  See the
version 7.5 or later must be installed on your system.  See the
discussion for the "GPU"_accelerate_gpu.html package for details of
how to check and do this.

lib/kokkos/.gitignore

deleted100644 → 0
+0 −8
Original line number Diff line number Diff line
# Standard ignores
*~
*.pyc
\#*#
.#*
.*.swp
.cproject
.project
+284 −0

File added.

Preview size limit exceeded, changes collapsed.

+37 −5
Original line number Diff line number Diff line
@@ -34,8 +34,8 @@ TRIBITS_PACKAGE_DECL(Kokkos) # ENABLE_SHADOWING_WARNINGS)
# for compatibility with Kokkos' Makefile build system.

TRIBITS_ADD_OPTION_AND_DEFINE(
  ${PACKAGE_NAME}_ENABLE_DEBUG
  ${PACKAGE_NAME_UC}_HAVE_DEBUG
  Kokkos_ENABLE_DEBUG
  KOKKOS_HAVE_DEBUG
  "Enable run-time debug checks.  These checks may be expensive, so they are disabled by default in a release build."
  ${${PROJECT_NAME}_ENABLE_DEBUG}
)
@@ -57,7 +57,21 @@ TRIBITS_ADD_OPTION_AND_DEFINE(
TRIBITS_ADD_OPTION_AND_DEFINE(
  Kokkos_ENABLE_Cuda_UVM
  KOKKOS_USE_CUDA_UVM
  "Enable CUDA Unified Virtual Memory support in Kokkos."
  "Enable CUDA Unified Virtual Memory as the default in Kokkos."
  OFF
  )

TRIBITS_ADD_OPTION_AND_DEFINE(
  Kokkos_ENABLE_Cuda_RDC
  KOKKOS_HAVE_CUDA_RDC
  "Enable CUDA Relocatable Device Code support in Kokkos."
  OFF
  )

TRIBITS_ADD_OPTION_AND_DEFINE(
  Kokkos_ENABLE_Cuda_Lambda
  KOKKOS_HAVE_CUDA_LAMBDA
  "Enable CUDA LAMBDA support in Kokkos."
  OFF
  )

@@ -72,6 +86,9 @@ ASSERT_DEFINED(TPL_ENABLE_Pthread)
IF (Kokkos_ENABLE_Pthread AND NOT TPL_ENABLE_Pthread)
  MESSAGE(FATAL_ERROR "You set Kokkos_ENABLE_Pthread=ON, but Trilinos' support for Pthread(s) is not enabled (TPL_ENABLE_Pthread=OFF).  This is not allowed.  Please enable Pthreads in Trilinos before attempting to enable Kokkos' support for Pthreads.")
ENDIF ()
IF (NOT TPL_ENABLE_Pthread)
  ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=0)
ENDIF()

TRIBITS_ADD_OPTION_AND_DEFINE(
  Kokkos_ENABLE_OpenMP
@@ -162,13 +179,28 @@ TRIBITS_ADD_OPTION_AND_DEFINE(

#------------------------------------------------------------------------------
#
# C) Process the subpackages for Kokkos
# C) Install Kokkos' executable scripts
#


# nvcc_wrapper is Kokkos' wrapper for NVIDIA's NVCC CUDA compiler.
# Kokkos needs nvcc_wrapper in order to build.  Other libraries and
# executables also need nvcc_wrapper.  Thus, we need to install it.
# If the argument of DESTINATION is a relative path, CMake computes it
# as relative to ${CMAKE_INSTALL_PATH}.

INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bin/nvcc_wrapper DESTINATION bin)


#------------------------------------------------------------------------------
#
# D) Process the subpackages for Kokkos
#

TRIBITS_PROCESS_SUBPACKAGES()

#
# D) If Kokkos itself is enabled, process the Kokkos package
# E) If Kokkos itself is enabled, process the Kokkos package
#

TRIBITS_PACKAGE_DEF()
+226 −42

File changed.

Preview size limit exceeded, changes collapsed.

Loading