Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/kokkos #188

Open
wants to merge 143 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
792224f
First pass at Kokkos in the build system
DavidPoliakoff Jan 27, 2020
9456d76
First example
DavidPoliakoff Jan 27, 2020
4e4c2dd
Merge branch 'develop' into feature/kokkos
DavidPoliakoff Mar 2, 2020
19afb97
Reworking to split out the Kokkos implementations
DavidPoliakoff Apr 2, 2020
d658a4d
Added in the Kokkos implementation file (whoops)
DavidPoliakoff May 14, 2020
f7631d1
Moved Kokkos files into their own directory
DavidPoliakoff May 14, 2020
0f74831
Working state, can now just stamp out kernels
DavidPoliakoff May 14, 2020
c70a7ca
Fixed up the sequential Kokkos version
DavidPoliakoff May 14, 2020
b52d974
WIP: CUDA
DavidPoliakoff Oct 15, 2020
37c2897
Pulled latest Kokkos
DavidPoliakoff Oct 15, 2020
ae5007a
Functional DAXPY
DavidPoliakoff Oct 15, 2020
7f707f9
Corrected name
DavidPoliakoff Oct 15, 2020
88f98f9
Update C++ standard
DavidPoliakoff Oct 15, 2020
8b12325
Changes for a minimal build
DavidPoliakoff Oct 15, 2020
8b828f5
Kokkos IF_QUAD basic kernels
ajpowelsnl Nov 16, 2020
529746d
Merge branch 'develop' into temp_kokkos_kernels
ajpowelsnl Nov 16, 2020
cfda905
infrastructure changes and Kokkos_ATOMIC_PI
ajpowelsnl Nov 17, 2020
b227e70
basic-kokkos IF_QUAD and ATOMIC_PI kernels
ajpowelsnl Nov 17, 2020
b3ef7f5
Adding piles o' files
DavidPoliakoff Nov 17, 2020
104ac3d
Removed extra files
DavidPoliakoff Nov 17, 2020
c9cf2a7
Rename misnamed files
DavidPoliakoff Nov 17, 2020
fddf904
Infrastructure fixes
DavidPoliakoff Nov 17, 2020
7a37806
Small changes to enable correct output
DavidPoliakoff Nov 17, 2020
7aa5d8d
first implementation of a "kokkos-mechanics" test in RajaPerfSuite
ajpowelsnl Nov 20, 2020
6858ba3
Added stream-add with Kokkos Views
DavidPoliakoff Nov 20, 2020
3f8acf9
Adding basic kernels for Kokkos performance testing
ajpowelsnl Dec 14, 2020
8bac825
csv_xml.py: parser for RAJAPerf-timing.csv to xml
ajpowelsnl Dec 21, 2020
c1193dc
csv_xml.py: raw xml dump of csv results
ajpowelsnl Dec 21, 2020
9d0501c
csv_xml.py: updates to raw xml output
ajpowelsnl Dec 21, 2020
5ed43c0
KokkosSeq: Kokkos-i-fied basic kernels
ajpowelsnl Dec 21, 2020
ca36ef0
KokkosSeq: Kokkos-i-fied basic kernels
ajpowelsnl Dec 22, 2020
b171109
csv_xml.py: rm "count", rm print statements
ajpowelsnl Jan 4, 2021
3381d88
Add profiling hooks to enable SPOT
DavidPoliakoff Jan 5, 2021
71901b6
Kokkos Sequential Basic Kernel Implementation
ajpowelsnl Jan 5, 2021
f252173
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/RAJAPerf into …
ajpowelsnl Jan 5, 2021
27d63c9
KokkosCuda basic kernels
ajpowelsnl Jan 7, 2021
eec425e
Unbroke the build system (hahaoops)
DavidPoliakoff Jan 7, 2021
c1f72a5
rm "newline" parameter from open statement
ajpowelsnl Jan 11, 2021
9835eff
rm the second "newline" paramter from open statement
ajpowelsnl Jan 11, 2021
8bdcaf7
Update Kokkos
DavidPoliakoff Jan 12, 2021
c69ce1a
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/rajaperf into …
DavidPoliakoff Jan 13, 2021
e1b705a
Added metadata calls, for testing
DavidPoliakoff Jan 13, 2021
91f7910
Added in metadata callbacks
DavidPoliakoff Jan 13, 2021
9b4cfdc
KokkosCuda kernels; ATTN: NESTED_INIT not working
ajpowelsnl Jan 13, 2021
7753a5d
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/RAJAPerf into …
ajpowelsnl Jan 13, 2021
233072e
Revert to standard Kokkos nomenclature
DavidPoliakoff Jan 13, 2021
a62d462
Fixes for NESTED_INIT
DavidPoliakoff Jan 13, 2021
2d35bc9
Remove debug output
DavidPoliakoff Jan 13, 2021
25d3ac4
adding date stamp to xml file
ajpowelsnl Jan 14, 2021
cb4bd10
tidy'ing up changes
ajpowelsnl Jan 15, 2021
6cb52f2
csv_xml.py: lower casing variants
ajpowelsnl Jan 18, 2021
c34a43d
re-worked NESTED_INIT kernel in Kokkos design
ajpowelsnl Feb 2, 2021
8fca574
Sed surgery
DavidPoliakoff Feb 2, 2021
8dc5c01
Sed surgery 2
DavidPoliakoff Feb 2, 2021
944e58a
Removed all mentions of Kokkos specific backend implementations from …
DavidPoliakoff Feb 2, 2021
a3d4061
tpl/kokkos: unlinking sym link & cloing kokkos
ajpowelsnl Feb 9, 2021
4f738c8
DAXPY kernel with KokkosViews for pointer x, pointer y
ajpowelsnl Feb 16, 2021
ce4079e
IF_QUAD.cpp: re-write basic kernels using KokkosView
ajpowelsnl Feb 16, 2021
fc4bb07
add Kokkos::fence() to kernel test
ajpowelsnl Feb 17, 2021
1ca2a3c
INIT3 with Kokkos Views and custom types
ajpowelsnl Mar 2, 2021
86c1283
Re-write of basic kernels using KokkosViews
ajpowelsnl Mar 4, 2021
5c32d68
Rewrite of REDUCE3_INT using KokkosViews
ajpowelsnl Mar 4, 2021
497741c
Re-write of TRAP_INT with Kokkos::fences();
ajpowelsnl Mar 4, 2021
5ef80af
At least functional version of this
DavidPoliakoff Mar 8, 2021
ce5738a
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/RAJAPerf into …
ajpowelsnl Mar 8, 2021
0be15e4
OpenMPTarget build
DavidPoliakoff Mar 11, 2021
5af2f06
ATOMIC_PI notes added to explain changes
ajpowelsnl Mar 11, 2021
0261b3b
Merge branch 'feature/kokkos' of github.com:DavidPoliakoff/rajaperf i…
ajpowelsnl Mar 11, 2021
a4f2ef0
changes needed for diverse builds
Mar 25, 2021
e306920
Merge branch 'feature/kokkos' of https://github.com/ajpowelsnl/RAJAPe…
Mar 25, 2021
210bd2c
Candidate fixes for builds
DavidPoliakoff Mar 25, 2021
28c76e5
commented incomplete code to fix RPS builds
ajpowelsnl Mar 25, 2021
e76979e
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/RAJAPerf into …
ajpowelsnl Mar 25, 2021
97f9e5d
DAXPY: comment out functor
ajpowelsnl Mar 25, 2021
4dbf1d0
interface prototype that builds
ajpowelsnl Mar 29, 2021
a3196d6
Added infrastructure for make_kernel_base, and support for it in the …
DavidPoliakoff Apr 6, 2021
ae6286d
Added infrastructure for make_kernel_base, and support for it in the …
DavidPoliakoff Apr 6, 2021
37659d6
Merge branch 'develop' into merge_test
DavidPoliakoff Apr 6, 2021
6f16423
Small fix to CMakeLists
DavidPoliakoff Apr 6, 2021
05d6ab7
add KOKKOS_FUNCTION to TRAP_INT-Kokkos.cpp
Apr 7, 2021
8c35199
updating rocprim in RAJA
Apr 7, 2021
9d8292e
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/rajaperf into …
DavidPoliakoff Apr 7, 2021
18253c3
Added infrastructure for make_kernel_base, and support for it in the …
DavidPoliakoff Apr 7, 2021
4f730cd
Update RAJA with version from develop
DavidPoliakoff Apr 7, 2021
7f17ba4
cleaning up RPS vs Kokkos handling of HIP backend
Apr 9, 2021
b406206
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/rajaperf into …
Apr 9, 2021
af54587
Changes for HIP config and build
Apr 23, 2021
009388c
making RPS use new infrastructure (Executor.cpp) to handle Kokkos
ajpowelsnl Apr 23, 2021
7be49db
Fixes for OpenMPTarget build
DavidPoliakoff Apr 27, 2021
f238c1c
IF_QUAD-Kokkos.cpp: tidying up formatting
ajpowelsnl May 25, 2021
c9ab748
stream-kokkos/ADD: changes to infrastructure and kernel
ajpowelsnl May 25, 2021
a0873de
Fixing run_params handling in RPS
ajpowelsnl May 26, 2021
1514d53
Kokkos translations of stream kernels
ajpowelsnl Jun 2, 2021
2ce3e28
EDUCE3_INT-Kokkos.cpp: formatting for clarity
ajpowelsnl Jun 2, 2021
ba8678e
watchr_KokkosConfig.json: config for new watchr
ajpowelsnl Jun 14, 2021
80dea71
watchr_KokkosConfig.json: recurse dir set to true
ajpowelsnl Jun 14, 2021
4093557
basic/IF_QUAD.cpp: fix typos and formatting
ajpowelsnl Jun 28, 2021
12af5ca
RPS infrastructure changes:
ajpowelsnl Jun 28, 2021
b9a1381
lcals: Making kernel group Kokkos runable
ajpowelsnl Jun 28, 2021
8d193ed
stream-kokkos/ADD-Kokkos.cpp: fix typos
ajpowelsnl Jun 28, 2021
bee1341
lcals-kokkos: lcals kernel group kokkos implement
ajpowelsnl Jun 28, 2021
d90c1fa
apps-kokkos: initial Kokkos-i-fication of apps kernels
ajpowelsnl Jun 29, 2021
115a116
Merge branch 'develop' into subfeature/kokkos
ajpowelsnl Jun 29, 2021
a26044d
Merge remote-tracking branch 'upstream/develop' into subfeature/kokkos
DavidPoliakoff Jul 15, 2021
2a65ef7
CMakeLists.txt: apps-kokkos fix up
ajpowelsnl Jul 19, 2021
4a24d9a
apps header files: add runKokkosVariant
ajpowelsnl Jul 19, 2021
0611696
RAJAPerfSuite: fix up for apps kernels
ajpowelsnl Jul 19, 2021
fa7f247
WIP-COUPLE.cpp: temp fix comment body
ajpowelsnl Jul 19, 2021
a8a7553
Attempt at merge conflict resolution
DavidPoliakoff Jul 20, 2021
c13b61c
CMakeLists.txt: fix amd arch
ajpowelsnl Jul 21, 2021
298cd4c
watchr_KokkosConfig.json: updated script
ajpowelsnl Jul 27, 2021
3b0ef87
Merge branch 'subfeature/kokkos' into merge_test
ajpowelsnl Jul 27, 2021
92f8f4d
deconflicting merge: apps
ajpowelsnl Jul 27, 2021
efbfb4f
watchr_KokkosConfig.json: fix RAJAPerf name
ajpowelsnl Jul 27, 2021
cf7e93a
watchr_KokkosConfig.json: fix up config
ajpowelsnl Jul 28, 2021
da4f686
watchr_KokkosConfig.json:rm timestamp for plotting
ajpowelsnl Jul 29, 2021
59ecd95
watchr_KokkosConfig.json: regex fix
ajpowelsnl Jul 29, 2021
8f7e27b
watchr_KokkosConfig.json: fixup regex
ajpowelsnl Jul 29, 2021
8d4723c
watchr_KokkosConfig.json: fix lambda_cuda
ajpowelsnl Jul 30, 2021
4c4f103
watchr_KokkosConfig.json: format lambda_cuda
ajpowelsnl Jul 30, 2021
170490d
omptarget: fix up build errors
ajpowelsnl Aug 2, 2021
4766ccb
watchr_KokkosConfig.json: fix lambda_cuda
ajpowelsnl Aug 3, 2021
3e331dc
watchr_KokkosConfig.json: fix lambda_cuda
ajpowelsnl Aug 3, 2021
6af5a71
Kokkos translations: apps, algorithm
ajpowelsnl Sep 14, 2021
a9dbc63
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/rajaperf into …
ajpowelsnl Sep 14, 2021
1fd7f0f
kokkos-algorithms: Kokkos translation
ajpowelsnl Oct 4, 2021
8e56aa4
VOL3D-Kokkos.cpp: Fix #ifdefs, #endifs
ajpowelsnl Oct 6, 2021
ff48c3a
HALOEXCHANGE-Kokkos.cpp: Kokkos translation
ajpowelsnl Oct 8, 2021
621e382
FIR-Kokkos.cpp: Wrapping coeff array in View
ajpowelsnl Oct 12, 2021
f19da0a
Merge remote-tracking branch 'upstream/develop' into feature/kokkos
ajpowelsnl Oct 19, 2021
29c3460
Merge branch 'feature/kokkos' of github.com:ajpowelsnl/rajaperf into …
ajpowelsnl Oct 19, 2021
038c34e
commenting features not integrated into Kokkos testing
ajpowelsnl Oct 21, 2021
f9d829d
Addressing David B.'s first batch of PR Comments
ajpowelsnl Oct 26, 2021
ec0421b
Fix some compiler warnings
ajpowelsnl Nov 2, 2021
520357d
Merge 1: RPS + RPS AS INFRASTRUCTURE
ajpowelsnl Nov 3, 2021
c064d50
Merge 2: RPS + INFRASTRUCTURE
ajpowelsnl Nov 4, 2021
29dfbfd
Fixing test reps and problem size numbers
ajpowelsnl Nov 4, 2021
393504b
Fixed timing code
DavidPoliakoff Nov 8, 2021
201d7ad
Merge pull request #1 from DavidPoliakoff/feature/kokkos
ajpowelsnl Nov 8, 2021
b7de26a
rm name passed to pop.region()
ajpowelsnl Nov 11, 2021
3dc1751
First major clean up for David B.: does not include commented Executo…
ajpowelsnl Nov 29, 2021
18cca87
First pass clean up of Executor files
ajpowelsnl Dec 2, 2021
487bce9
Addressing PR comments from David Beckingsale & polybench-kokkos stubs
ajpowelsnl Jan 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
[submodule "tpl/RAJA"]
path = tpl/RAJA
url = https://github.com/LLNL/RAJA.git
[submodule "tpl/kokkos"]
path = tpl/kokkos
url = https://github.com/kokkos/kokkos
[submodule "scripts/radiuss-spack-configs"]
path = scripts/radiuss-spack-configs
url = https://github.com/LLNL/radiuss-spack-configs.git
Expand Down
81 changes: 64 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
###############################################################################

project(RAJAPerfSuite CXX)

cmake_minimum_required(VERSION 3.9)

option(ENABLE_RAJA_SEQUENTIAL "Run sequential variants of RAJA kernels. Disable
this, and all other variants, to run _only_ raw C loops." On)
option(ENABLE_KOKKOS "Include Kokkos implementations of the kernels in the RAJA Perfsuite" Off)

#
# Initialize the BLT build system
Expand All @@ -25,14 +25,14 @@ set(ENABLE_TESTS Off CACHE BOOL "Enable BLT and RAJA tests")
set(ENABLE_EXAMPLES Off CACHE BOOL "Enable RAJA examples")
set(RAJA_ENABLE_EXERCISES Off CACHE BOOL "Enable RAJA exercises")

set(CMAKE_CXX_STANDARD 11)
set(BLT_CXX_STANDARD 11)

if(ENABLE_KOKKOS)
set(CMAKE_CXX_STANDARD 14)
set(BLT_CXX_STANDARD 14)
endif()
include(blt/SetupBLT.cmake)

#
# Define RAJA settings...
#

set(ENABLE_TESTS Off CACHE BOOL "")
set(ENABLE_EXAMPLES Off CACHE BOOL "")
Expand All @@ -53,11 +53,8 @@ add_subdirectory(tpl/RAJA)
get_property(RAJA_INCLUDE_DIRS DIRECTORY tpl/RAJA PROPERTY INCLUDE_DIRECTORIES)
include_directories(${RAJA_INCLUDE_DIRS})


#
# Setup variables to pass to Perf suite
#

#
# These (hopefully temporary) macro constants are needed to work-around
# performance issues in the xl compiler.
Expand All @@ -80,18 +77,24 @@ if (ENABLE_OPENMP)
endif()
if (ENABLE_CUDA)
list(APPEND RAJA_PERFSUITE_DEPENDS cuda)
endif()
if (ENABLE_HIP)
endif()

# Kokkos requires hipcc as the CMAKE_CXX_COMPILER for HIP AMD/VEGA GPU
# platforms, whereas RAJAPerf Suite uses blt/CMake FindHIP to set HIP compiler
# Separate RAJAPerf Suite and Kokkos handling of HIP compilers

if ((ENABLE_HIP) AND (NOT ENABLE_KOKKOS))
list(APPEND RAJA_PERFSUITE_DEPENDS hip)
endif()

set(RAJAPERF_BUILD_SYSTYPE $ENV{SYS_TYPE})
set(RAJAPERF_BUILD_HOST $ENV{HOSTNAME})

if (ENABLE_CUDA)
set(CMAKE_CUDA_STANDARD 11)
if (ENABLE_CUDA AND ENABLE_KOKKOS)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ENABLE_CUDA here is redundant (since we are already inside an if (ENABLE_CUDA) block.

set(CMAKE_CUDA_STANDARD 14)
endif()
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -restrict -arch ${CUDA_ARCH} --expt-extended-lambda --expt-relaxed-constexpr")

set(RAJAPERF_COMPILER "${CUDA_NVCC_EXECUTABLE}")
list(APPEND RAJAPERF_COMPILER ${CMAKE_CXX_COMPILER})
set(RAJAPERF_COMPILER_OPTIONS "${CUDA_NVCC_FLAGS}")
Expand All @@ -106,14 +109,58 @@ else()
list(APPEND RAJAPERF_COMPILER_OPTIONS ${CMAKE_CXX_FLAGS})
endif()

configure_file(${CMAKE_SOURCE_DIR}/src/rajaperf_config.hpp.in
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/rajaperf_config.hpp.in
${CMAKE_CURRENT_BINARY_DIR}/bin/rajaperf_config.hpp)

# Make sure RAJA flag propagate (we need to do some house cleaning to
# Make sure RAJA flags propagate (we need to do some tidying to
# remove project-specific CMake variables that are no longer needed)
set (CUDA_NVCC_FLAGS ${RAJA_NVCC_FLAGS})

#
# Each directory in the perf suite has its own CMakeLists.txt file.
#
# The statement below is required for Kokkos compilation.
if(ENABLE_KOKKOS)
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/tpl/RAJA/include/)
endif()


# ENABLE_KOKKOS is A RAJAPerf Suite Option
if(ENABLE_KOKKOS)
add_definitions(-DRUN_KOKKOS)
if(ENABLE_HIP)
set(Kokkos_ENABLE_HIP ON CACHE BOOL "Kokkos builds for AMD HIP set the
Kokkos_ENABLE_HIP variable to ON")
#set(Kokkos_ARCH_VEGA900 ON CACHE BOOL "Docstring") #TODO: better
endif()
if(ENABLE_TARGET_OPENMP)
set(Kokkos_ENABLE_OPENMPTARGET ON CACHE BOOL "Docstring")
set(Kokkos_ARCH_VOLTA70 ON CACHE BOOL "Docstring") #TODO: better
set(CMAKE_CXX_STANDARD 17)
set(BLT_CXX_STANDARD 17)
set(RAJA_ENABLE_TARGET_OPENMP ON CACHE BOOL "Docstring")
if(NOT CMAKE_BUILD_TYPE MATCHES Debug)
if(NOT EXPERIMENTAL_BUILD)
message(FATAL_ERROR "Kokkos builds with OpenMPTarget require a Debug build to succeed at the moment. Rebuild with CMAKE_BUILD_TYPE=Debug. If you're a compiler developer, rebuild with -DEXPERIMENTAL_BUILD=ON")
endif()
endif()

#add_definitions(-DRAJA_ENABLE_TARGET_OPENMP)
endif()

# ENABLE_CUDA IS A RAJA PERFSUITE OPTION
if(ENABLE_CUDA)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "Docstring")
set(Kokkos_ENABLE_CUDA_LAMBDA ON CACHE BOOL "Docstring")
set(Kokkos_ARCH_VOLTA70 ON CACHE BOOL "Docstring") #TODO: better
enable_language(CUDA)
endif()
if(ENABLE_OPENMP)
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "Docstring")
endif()

add_subdirectory(tpl/kokkos)
get_property(KOKKOS_INCLUDE_DIRS DIRECTORY tpl/kokkos PROPERTY INCLUDE_DIRECTORIES)
include_directories(${KOKKOS_INCLUDE_DIRS})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this required? I think that having kokkos in the RAJA_PERFSUITE_DEPENDS should be enough.


list(APPEND RAJA_PERFSUITE_DEPENDS kokkos)
endif()

add_subdirectory(src)
132 changes: 132 additions & 0 deletions scripts/config/watchr_KokkosConfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
"plots" : {
"files" : {
"fileName": "RAJAPerf*",
"type" : "xml",
"ignoreOldFiles" : true,
"recurseDirectories" : true
},
"categories": [
"kokkos_lambda",
"lambda_cuda",
"base_cuda",
"base_seq",
"lambda_seq",
"raja_cuda",
"raja_seq"
],
"plot" : [
{
"autoname" : {
"useProperty" : "y/path",
"formatByRemovingPrefix" : "\\/RAJAPerf\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.xml\\/"
},
"category" : "kokkos_lambda",
"template" : "kokkos_template",
"dataLines" : [
{
"name" : "Data Line",
"template" : "Line_Template",
"x" : {
"getPath": "*",
"getElement" : "performance-report",
"getKey" : "date",
"unit" : "timestamp"
},
"y" : {
"getElement" : "performance-report|timing",
"getPath": "*/kokkos_perf_suite/*",
"getPathAttribute": "name",
"getKey" : "kokkos_lambda",
"unit" : "seconds",
"strategy" : {
"getFirstMatchOnly" : "false",
"recurseChildGraphs" : "true"
}
},
"color" : "202,77,77"
}
]
},{
"inherit" : "kokkos_template",
"category" : "base_cuda",
"dataLines" : [
{
"inherit" : "Line_Template",
"y" : {
"getKey" : "base_cuda"
}
}
]
}, {
"inherit" : "kokkos_template",
"category" : "base_seq",
"dataLines" : [
{
"inherit" : "Line_Template",
"y" : {
"getKey" : "base_seq"
}
}
]
}, {

"inherit" : "kokkos_template",
"category" : "lambda_seq",
"dataLines" : [
{
"inherit" : "Line_Template",
"y" : {
"getKey" : "lambda_seq"
}
}
]

},{
"inherit" : "kokkos_template",
"category" : "lambda_cuda",
"dataLines" : [
{
"inherit" : "Line_Template",
"y" : {
"getKey" : "lambda_cuda"
}
}
]
},{
"inherit" : "kokkos_template",
"category" : "raja_cuda",
"dataLines" : [
{
"inherit" : "Line_Template",
"y" : {
"getKey" : "raja_cuda"
}
}
]
}, {
"inherit" : "kokkos_template",
"category" : "raja_seq",
"dataLines" : [
{
"inherit" : "Line_Template",
"y" : {
"getKey" : "raja_seq"
}
}
]
}
]
},
"graphDisplay": {
"dbLocation" : "root",
"page" : 1,
"displayCategory" : "kokkos_lambda",
"displayRange" : 30,
"graphWidth" : 450,
"graphHeight" : 450,
"graphsPerRow" : 3,
"graphsPerPage" : 15,
"displayedDecimalPlaces" : 3
}
}
48 changes: 48 additions & 0 deletions scripts/snl-builds/caraway_rhel7_hipcc_4.0.0.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/usr/bin/env bash

###############################################################################
# Copyright (c) 2017-20, Lawrence Livermore National Security, LLC
# and RAJA Performance Suite project contributors.
# See the RAJAPerf/COPYRIGHT file for details.
#
# SPDX-License-Identifier: (BSD-3-Clause)
#################################################################################

BUILD_SUFFIX=snl_rhel7-hipcc-4.0.0

rm -rf build_${BUILD_SUFFIX} 2>/dev/null
mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX}

##################################
#Caraway Build (AMD)
#################################
module purge

module load cmake/3.19.3

module load git/2.9.4

##################################
# FOR COMPUTE NODE (caraway04 GPU):

module load rocm/4.0.0

module load python/3.7.3

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_KOKKOS=ON \
-DENABLE_HIP=ON \
-DKokkos_ARCH_VEGA900=ON \
-DCMAKE_CXX_FLAGS="--gcc-toolchain=/home/projects/x86-64/gcc/8.2.0/" \
-DHIP_HIPCC_FLAGS="--gcc-toolchain=/home/projects/x86-64/gcc/8.2.0/ -std=c++17" \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_CXX_COMPILER=hipcc .. \

make -j24;make

cd bin/
./raja-perf.exe



Loading