Unverified Commit ebd93cac authored by Steve Plimpton's avatar Steve Plimpton Committed by GitHub
Browse files

Merge pull request #930 from stanmoore1/kk_update

Update Kokkos library to v2.7.00
parents 0368202d c27e617f
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
# Change Log

## [2.7.00](https://github.com/kokkos/kokkos/tree/2.7.00) (2018-05-24)
[Full Changelog](https://github.com/kokkos/kokkos/compare/2.6.00...2.7.00)

**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.7**

**Implemented enhancements:**

- Deprecate team\_size auto adjusting to maximal value possible [\#1618](https://github.com/kokkos/kokkos/issues/1618)
- DynamicView - remove restrictions to std::is\_trivial types and value\_type is power of two [\#1586](https://github.com/kokkos/kokkos/issues/1586)
- Kokkos::StaticCrsGraph does not propagate memory traits \(e.g., Unmanaged\) [\#1581](https://github.com/kokkos/kokkos/issues/1581)
- Adding ETI for DeepCopy / ViewFill etc. [\#1578](https://github.com/kokkos/kokkos/issues/1578)
- Deprecate all the left over KOKKOS\_HAVE\_ Macros and Kokkos\_OldMacros.hpp [\#1572](https://github.com/kokkos/kokkos/issues/1572)
- Error if Kokkos\_ARCH set in CMake [\#1555](https://github.com/kokkos/kokkos/issues/1555)
- Deprecate ExecSpace::initialize / ExecSpace::finalize [\#1532](https://github.com/kokkos/kokkos/issues/1532)
- New API for TeamPolicy property setting [\#1531](https://github.com/kokkos/kokkos/issues/1531)
- clang 6.0 + cuda debug out-of-memory test failure [\#1521](https://github.com/kokkos/kokkos/issues/1521)
- Cuda UniqueToken interface not consistent with other backends [\#1505](https://github.com/kokkos/kokkos/issues/1505)
- Move Reducers out of Experimental namespace [\#1494](https://github.com/kokkos/kokkos/issues/1494)
- Provide scope guard for initialize/finalize [\#1479](https://github.com/kokkos/kokkos/issues/1479)
- Check Kokkos::is\_initialized in SharedAllocationRecord dtor [\#1465](https://github.com/kokkos/kokkos/issues/1465)
- Remove static list of allocations [\#1464](https://github.com/kokkos/kokkos/issues/1464)
- Makefiles: Support single compile/link line use case [\#1402](https://github.com/kokkos/kokkos/issues/1402)
- ThreadVectorRange with a range  [\#1400](https://github.com/kokkos/kokkos/issues/1400)
- Exclusive scan + last value API [\#1358](https://github.com/kokkos/kokkos/issues/1358)
- Install kokkos\_generated\_settings.cmake [\#1348](https://github.com/kokkos/kokkos/issues/1348)
- Kokkos arrays \(not views!\) don't do bounds checking in debug mode [\#1342](https://github.com/kokkos/kokkos/issues/1342)
- Expose round-robin GPU assignment outside of initialize\(int, char\*\*\) [\#1318](https://github.com/kokkos/kokkos/issues/1318)
- DynamicView misses use\_count and label function [\#1298](https://github.com/kokkos/kokkos/issues/1298)
- View constructor should check arguments [\#1286](https://github.com/kokkos/kokkos/issues/1286)
- False Positive on Oversubscription Warning [\#1207](https://github.com/kokkos/kokkos/issues/1207)
- Allow \(require\) execution space for 1st arg of VerifyExecutionCanAccessMemorySpace [\#1192](https://github.com/kokkos/kokkos/issues/1192)
- ROCm: Add ROCmHostPinnedSpace [\#958](https://github.com/kokkos/kokkos/issues/958)
- power of two functions [\#656](https://github.com/kokkos/kokkos/issues/656)
- CUDA 8 has 64bit \_\_shfl [\#361](https://github.com/kokkos/kokkos/issues/361)
- Add TriBITS/CMake configure information about node types [\#243](https://github.com/kokkos/kokkos/issues/243)

**Fixed bugs:**

- CUDA atomic\_fetch\_sub for doubles is hitting CAS instead of intrinsic [\#1624](https://github.com/kokkos/kokkos/issues/1624)
- Bug: use of ballot on Volta [\#1612](https://github.com/kokkos/kokkos/issues/1612)
- Kokkos::deep\_copy memory access failures [\#1583](https://github.com/kokkos/kokkos/issues/1583)
- g++ -std option doubly set for cmake project [\#1548](https://github.com/kokkos/kokkos/issues/1548)
- ViewFill for 1D Views of larger 32bit entries fails [\#1541](https://github.com/kokkos/kokkos/issues/1541)
- CUDA Volta another warpsync bug [\#1520](https://github.com/kokkos/kokkos/issues/1520)
- triple\_nested\_parallelism fails with KOKKOS\_DEBUG and CUDA [\#1513](https://github.com/kokkos/kokkos/issues/1513)
- Jenkins errors in Kokkos\_SharedAlloc.cpp with debug build [\#1511](https://github.com/kokkos/kokkos/issues/1511)
- Kokkos::Sort out-of-bounds with empty bins [\#1504](https://github.com/kokkos/kokkos/issues/1504)
- Get rid of deprecated functions inside Kokkos [\#1484](https://github.com/kokkos/kokkos/issues/1484)
- get\_work\_partition casts int64\_t to int, causing a seg fault [\#1481](https://github.com/kokkos/kokkos/issues/1481)
- NVCC bug with \_\_device\_\_ on defaulted function [\#1470](https://github.com/kokkos/kokkos/issues/1470)
- CMake example broken with CUDA backend [\#1468](https://github.com/kokkos/kokkos/issues/1468)


## [2.6.00](https://github.com/kokkos/kokkos/tree/2.6.00) (2018-03-07)
[Full Changelog](https://github.com/kokkos/kokkos/compare/2.5.00...2.6.00)

+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ IF(NOT KOKKOS_HAS_TRILINOS)
        "${KOKKOS_SETTINGS} make -f ${KOKKOS_SRC_PATH}/cmake/Makefile.generate_cmake_settings CXX=${CMAKE_CXX_COMPILER} generate_build_settings")
  endif()
  include(${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake)
  install(FILES ${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake DESTINATION lib/cmake/Kokkos)
  string(REPLACE " " ";" KOKKOS_TPL_INCLUDE_DIRS "${KOKKOS_GMAKE_TPL_INCLUDE_DIRS}")
  string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_DIRS "${KOKKOS_GMAKE_TPL_LIBRARY_DIRS}")
  string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_NAMES "${KOKKOS_GMAKE_TPL_LIBRARY_NAMES}")
+80 −29
Original line number Diff line number Diff line
# Default settings common options.

#LAMMPS specific settings:
ifndef KOKKOS_PATH
  KOKKOS_PATH=../../lib/kokkos
endif
CXXFLAGS=$(CCFLAGS)

# Options: Cuda,ROCm,OpenMP,Pthreads,Qthreads,Serial
@@ -21,8 +23,10 @@ KOKKOS_DEBUG ?= "no"
KOKKOS_USE_TPLS ?= ""
# Options: c++11,c++1z
KOKKOS_CXX_STANDARD ?= "c++11"
# Options: aggressive_vectorization,disable_profiling,disable_deprecated_code
# Options: aggressive_vectorization,disable_profiling,disable_deprecated_code,enable_large_mem_tests
KOKKOS_OPTIONS ?= ""
# Option for setting ETI path
KOKKOS_ETI_PATH ?= ${KOKKOS_PATH}/core/src/eti

# Default settings specific options.
# Options: force_uvm,use_ldg,rdc,enable_lambda
@@ -51,10 +55,12 @@ KOKKOS_INTERNAL_DISABLE_PROFILING := $(call kokkos_has_string,$(KOKKOS_OPTIONS),
KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_deprecated_code)
KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_dualview_modify_check)
KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_profile_load_print)
KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_large_mem_tests)
KOKKOS_INTERNAL_CUDA_USE_LDG := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),use_ldg)
KOKKOS_INTERNAL_CUDA_USE_UVM := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),force_uvm)
KOKKOS_INTERNAL_CUDA_USE_RELOC := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),rdc)
KOKKOS_INTERNAL_CUDA_USE_LAMBDA := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),enable_lambda)
KOKKOS_INTERNAL_ENABLE_ETI := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_eti)


# Check for Kokkos Host Execution Spaces one of which must be on.
@@ -78,7 +84,12 @@ KOKKOS_INTERNAL_USE_OPENMPTARGET := $(call kokkos_has_string,$(KOKKOS_DEVICES),O

ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
  KOKKOS_INTERNAL_NVCC_PATH := $(shell which nvcc)
  CUDA_PATH ?= $(KOKKOS_INTERNAL_NVCC_PATH:/bin/nvcc=)
  ifeq ($(origin CUDA_PATH), undefined)
    CUDA_PATH = $(KOKKOS_INTERNAL_NVCC_PATH:/bin/nvcc=)
  endif
  ifeq ($(CUDA_PATH),)
    CUDA_PATH = $(KOKKOS_INTERNAL_NVCC_PATH:/bin/nvcc=)
  endif
  KOKKOS_INTERNAL_COMPILER_NVCC_VERSION := $(shell nvcc --version 2>&1 | grep release | cut -d' ' -f5 | cut -d',' -f1 | tr -d .)
endif

@@ -116,7 +127,7 @@ ifeq ($(KOKKOS_INTERNAL_COMPILER_HCC), 1)
endif

ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
  KOKKOS_INTERNAL_COMPILER_CLANG_VERSION := $(shell clang --version | grep version | cut -d ' ' -f3 | tr -d '.')
  KOKKOS_INTERNAL_COMPILER_CLANG_VERSION := $(shell $(CXX) --version | grep version | cut -d ' ' -f3 | tr -d '.')

  ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
    ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_CLANG_VERSION) -lt 400; echo $$?),0)
@@ -323,12 +334,13 @@ endif

# Generating the list of Flags.

KOKKOS_CPPFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src
#CPPFLAGS is now unused
KOKKOS_CPPFLAGS =
KOKKOS_CXXFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src -I$(KOKKOS_ETI_PATH)
KOKKOS_TPL_INCLUDE_DIRS =
KOKKOS_TPL_LIBRARY_DIRS =
KOKKOS_TPL_LIBRARY_NAMES =

KOKKOS_CXXFLAGS =
ifeq ($(KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS), 1)
  KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_COMPILER_WARNINGS)
endif
@@ -336,6 +348,8 @@ endif
KOKKOS_LIBS = -ldl
KOKKOS_TPL_LIBRARY_NAMES += dl
KOKKOS_LDFLAGS = -L$(shell pwd)
# CXXLDFLAGS is used together with CXXFLAGS in a combined compile/link command
KOKKOS_CXXLDFLAGS = -L$(shell pwd)
KOKKOS_LINK_FLAGS = 
KOKKOS_SRC =
KOKKOS_HEADERS =
@@ -362,7 +376,7 @@ tmp := $(call kokkos_append_header,'\#endif')
tmp := $(call kokkos_append_header,"/* Execution Spaces */")

ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CUDA")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA")
endif

ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)
@@ -374,19 +388,19 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1)
endif

ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1)
  tmp := $(call kokkos_append_header,'\#define KOKKOS_HAVE_OPENMP')
  tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMP')
endif

ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_PTHREAD")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_THREADS")
endif

ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_QTHREADS")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_QTHREADS")
endif

ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_SERIAL")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_SERIAL")
endif

ifeq ($(KOKKOS_INTERNAL_USE_TM), 1)
@@ -422,13 +436,13 @@ endif
tmp := $(call kokkos_append_header,"/* General Settings */")
ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX11), 1)
  KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX11_FLAG)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX11")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11")
endif

ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Z), 1)
  KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Z_FLAG)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX11")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX1Z")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX1Z")
endif

ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1)
@@ -437,9 +451,9 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1)
  endif

  KOKKOS_CXXFLAGS += -g
  KOKKOS_LDFLAGS += -g -ldl
  KOKKOS_LDFLAGS += -g
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_DEBUG")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG")
  ifeq ($(KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK), 0)
    tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK")
  endif
@@ -451,14 +465,15 @@ endif

ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1)
  ifneq ($(HWLOC_PATH),)
    KOKKOS_CPPFLAGS += -I$(HWLOC_PATH)/include
    KOKKOS_CXXFLAGS += -I$(HWLOC_PATH)/include
    KOKKOS_LDFLAGS += -L$(HWLOC_PATH)/lib
    KOKKOS_CXXLDFLAGS += -L$(HWLOC_PATH)/lib
    KOKKOS_TPL_INCLUDE_DIRS += $(HWLOC_PATH)/include
    KOKKOS_TPL_LIBRARY_DIRS += $(HWLOC_PATH)/lib
  endif
  KOKKOS_LIBS += -lhwloc
  KOKKOS_TPL_LIBRARY_NAMES += hwloc
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HWLOC")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HWLOC")
endif

ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1)
@@ -469,14 +484,15 @@ endif

ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1)
  ifneq ($(MEMKIND_PATH),)
    KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include
    KOKKOS_CXXFLAGS += -I$(MEMKIND_PATH)/include
    KOKKOS_LDFLAGS += -L$(MEMKIND_PATH)/lib
    KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib
    KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include
    KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib
  endif
  KOKKOS_LIBS += -lmemkind -lnuma
  KOKKOS_TPL_LIBRARY_NAMES += memkind numa
  tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HBWSPACE")
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HBWSPACE")
endif

ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 0)
@@ -486,6 +502,13 @@ endif
ifeq ($(KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE), 0)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE")
endif
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_ETI")
endif

ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1)
  tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_LARGE_MEM_TESTS")
endif

tmp := $(call kokkos_append_header,"/* Optimization Settings */")

@@ -497,27 +520,35 @@ tmp := $(call kokkos_append_header,"/* Cuda Settings */")

ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
  ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LDG), 1)
    tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LDG_INTRINSIC")
    tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC")
  else
    ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
      tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LDG_INTRINSIC")
      tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC")
    endif
  endif

  ifeq ($(KOKKOS_INTERNAL_CUDA_USE_UVM), 1)
    tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_UVM")
    tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_UVM")
  endif

  ifeq ($(KOKKOS_INTERNAL_CUDA_USE_RELOC), 1)
    tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE")
    tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE")
    KOKKOS_CXXFLAGS += --relocatable-device-code=true
    KOKKOS_LDFLAGS += --relocatable-device-code=true
  endif

  ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1)
    ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -ge 90; echo $$?),0)
      # This diagnostic is just plain wrong in CUDA 9
      # See https://github.com/kokkos/kokkos/issues/1470
      KOKKOS_CXXFLAGS += -Xcudafe --diag_suppress=esa_on_defaulted_function_ignored
    endif
  endif

  ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LAMBDA), 1)
    ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1)
      ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -gt 70; echo $$?),0)
        tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LAMBDA")
        tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA")
        KOKKOS_CXXFLAGS += -expt-extended-lambda
      else
        $(warning Warning: Cuda Lambda support was requested but NVCC version is too low. This requires NVCC for Cuda version 7.5 or higher. Disabling Lambda support now.)
@@ -525,12 +556,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
    endif

    ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
      tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LAMBDA")
      tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA")
    endif
  endif

  ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
    tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_CLANG_WORKAROUND")
    tmp := $(call kokkos_append_header,"\#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND")
  endif
endif

@@ -907,10 +938,14 @@ ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)

  KOKKOS_CXXFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --cxxflags) 
  KOKKOS_LDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm 
  KOKKOS_CXXLDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm
  KOKKOS_TPL_LIBRARY_NAMES += hc_am m
  KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_ROCM_ARCH_FLAG)

  KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.cpp)
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/ROCm/*.cpp)
endif
  KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.hpp)
endif

@@ -937,10 +972,14 @@ KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/containers/src/impl/*.cpp)

ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.cpp)
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Cuda/*.cpp)
endif
  KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.hpp)
  ifneq ($(CUDA_PATH),)
    KOKKOS_CPPFLAGS += -I$(CUDA_PATH)/include
    KOKKOS_CXXFLAGS += -I$(CUDA_PATH)/include
    KOKKOS_LDFLAGS += -L$(CUDA_PATH)/lib64
    KOKKOS_CXXLDFLAGS += -L$(CUDA_PATH)/lib64
    KOKKOS_TPL_INCLUDE_DIRS += $(CUDA_PATH)/include
    KOKKOS_TPL_LIBRARY_DIRS += $(CUDA_PATH)/lib64
    ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
@@ -964,6 +1003,9 @@ endif

ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/OpenMP/*.cpp)
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/OpenMP/*.cpp)
endif
  KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/OpenMP/*.hpp)

  ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1)
@@ -978,6 +1020,9 @@ endif

ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.cpp)
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Threads/*.cpp)
endif
  KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.hpp)
  KOKKOS_LIBS += -lpthread
  KOKKOS_TPL_LIBRARY_NAMES += pthread
@@ -987,8 +1032,9 @@ ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.cpp)
  KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.hpp)
  ifneq ($(QTHREADS_PATH),)
    KOKKOS_CPPFLAGS += -I$(QTHREADS_PATH)/include
    KOKKOS_CXXFLAGS += -I$(QTHREADS_PATH)/include
    KOKKOS_LDFLAGS += -L$(QTHREADS_PATH)/lib
    KOKKOS_CXXLDFLAGS += -L$(QTHREADS_PATH)/lib
    KOKKOS_TPL_INCLUDE_DIRS += $(QTHREADS_PATH)/include
    KOKKOS_TPL_LIBRARY_DIRS += $(QTHREADS_PATH)/lib64
  endif
@@ -1011,6 +1057,11 @@ endif

# Don't include Kokkos_Serial.cpp or Kokkos_Serial_Task.cpp if not using Serial
# device to avoid a link warning.
ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1)
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Serial/*.cpp)
endif
endif
ifneq ($(KOKKOS_INTERNAL_USE_SERIAL), 1)
  KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_Serial.cpp,$(KOKKOS_SRC))
  KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_Serial_Task.cpp,$(KOKKOS_SRC))
+18 −0
Original line number Diff line number Diff line
@@ -31,6 +31,12 @@ Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_
Kokkos_MemoryPool.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp

ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1)
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  include $(KOKKOS_ETI_PATH)/Serial/Makefile.eti_Serial
endif
endif

ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
Kokkos_Cuda_Impl.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Impl.cpp
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Impl.cpp
@@ -40,6 +46,9 @@ Kokkos_Cuda_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cu
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Task.cpp
Kokkos_Cuda_Locks.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Locks.cpp
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Locks.cpp
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  include $(KOKKOS_ETI_PATH)/Cuda/Makefile.eti_Cuda
endif
endif

ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)
@@ -51,6 +60,9 @@ Kokkos_ROCm_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_RO
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Task.cpp
Kokkos_ROCm_Impl.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Impl.cpp
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Impl.cpp
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  include $(KOKKOS_ETI_PATH)/ROCm/Makefile.eti_ROCm
endif
endif

ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1)
@@ -58,6 +70,9 @@ Kokkos_ThreadsExec_base.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec_base.cpp
Kokkos_ThreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  include $(KOKKOS_ETI_PATH)/Threads/Makefile.eti_Threads
endif
endif

ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1)
@@ -72,6 +87,9 @@ Kokkos_OpenMP_Exec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokko
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp
Kokkos_OpenMP_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Task.cpp
	$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Task.cpp
ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
  include $(KOKKOS_ETI_PATH)/OpenMP/Makefile.eti_OpenMP
endif
endif

ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1)
+16 −0
Original line number Diff line number Diff line
@@ -702,7 +702,11 @@ namespace Kokkos {
    }
    Random_XorShift64_Pool(uint64_t seed) {
      num_states_ = 0;
#ifdef KOKKOS_ENABLE_DEPRECATED_CODE
      init(seed,DeviceType::max_hardware_threads());
#else
      init(seed,DeviceType::impl_max_hardware_threads());
#endif
    }

    Random_XorShift64_Pool(const Random_XorShift64_Pool& src):
@@ -751,7 +755,11 @@ namespace Kokkos {

    KOKKOS_INLINE_FUNCTION
    Random_XorShift64<DeviceType> get_state() const {
#ifdef KOKKOS_ENABLE_DEPRECATED_CODE
      const int i = DeviceType::hardware_thread_id();;
#else
      const int i = DeviceType::impl_hardware_thread_id();;
#endif
      return Random_XorShift64<DeviceType>(state_(i),i);
    }

@@ -957,7 +965,11 @@ namespace Kokkos {
    inline
    Random_XorShift1024_Pool(uint64_t seed){
      num_states_ = 0;
#ifdef KOKKOS_ENABLE_DEPRECATED_CODE
      init(seed,DeviceType::max_hardware_threads());
#else
      init(seed,DeviceType::impl_max_hardware_threads());
#endif
    }

    Random_XorShift1024_Pool(const Random_XorShift1024_Pool& src):
@@ -1012,7 +1024,11 @@ namespace Kokkos {

    KOKKOS_INLINE_FUNCTION
    Random_XorShift1024<DeviceType> get_state() const {
#ifdef KOKKOS_ENABLE_DEPRECATED_CODE
      const int i = DeviceType::hardware_thread_id();
#else
      const int i = DeviceType::impl_hardware_thread_id();
#endif
      return Random_XorShift1024<DeviceType>(state_,p_(i),i);
    };

Loading