-
Notifications
You must be signed in to change notification settings - Fork 412
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
Rebase sycl-nliber2 into develop #3231
Closed
Closed
Changes from all commits
Commits
Show all changes
87 commits
Select commit
Hold shift + click to select a range
b986a13
SYCL Initial commit adding the ability to compile a sycl code
crtrott 04f0640
SYCL: enable simple parallel for
crtrott 3195afd
Partly fix multipl kernel calls
crtrott 314d9d3
Use templated wrapping launch class
crtrott 47a7cb2
SYCL Initial commit adding the ability to compile a sycl code
582edcf
SYCL Initial commit adding the ability to compile a sycl code
nliber 4444c0d
WIP SyclHostUSMSpace (passes simple test)
nliber 8e78cff
Revert change for printing out make variables
nliber e3f9cd3
SYCLHostUSMSpace now should pass Test02a
nliber e39897d
Added USM_memcpy for the deep_copy of SYCLHostUSMSpace views
nliber d58b6e8
deep_copy between HostSpace and SYCLHostUSMSpace
nliber 8ee767c
Additions and fixes for SYCLDeviceUSMSpace and SYCLSharedUSMSpace
nliber 6e994a3
Added SYCLDeviceUSMSpace and SYCLSharedUSMSpace
nliber c7ffa0f
Cleanup
nliber 0375510
Initialize SYCL with the first GPU or accelerator
nliber 2dfdbdc
Refactored so that can init with a specific device or the first GPU or
nliber 92657e7
Kokkos::SYCL::SelectDevice now defaults to the first GPU device
nliber d49673f
Dump more device info out
nliber d038435
SYCL Initial commit adding the ability to compile a sycl code
nliber 78e6d56
Restored SharedAllocationTracker constructor
nliber 5df2b64
SYCL Initial commit adding the ability to compile a sycl code
nliber a4f52ac
SYCL Initial commit adding the ability to compile a sycl code
nliber c159276
In SYCL parallel_for, added wait() afterwards
nliber 2b4acbc
Fix for deep_copy of Kokkos::View
nliber 3ab25a1
Cleanup
nliber b9ce947
Reworked how SYCL initialization was done
nliber 04b584c
Removed SYCL::SelectDevice
nliber f182d9e
Removed SYCLDevice
nliber 9de66ad
Renamed SelectDevice2 to SYCLDevice
nliber 4d6f80f
Changed passing sycl::device by value to by const reference
nliber 1dcf97b
Have a serial version of SYCL ParallelReduce working
nliber 2f804e4
First got parallel_reduce working under DPC++.
nliber 8d1da18
Use reducer.combine() directly
nliber 1221ad8
Some cleanup of reduce
nliber 751e278
Added support in SYCL ParallelReduce for WorkTag
nliber dd04a43
Adding Kokkos_SYCL.cpp
nliber 273c7b7
Cleanup of SYCL Parallel Reduce
nliber 34e8df0
Fix compiling initial version of SYCL backend with CMake
masterleinad f8690ba
Merge pull request #3 from masterleinad/fix_sycl
nliber 028ed75
Indentation Makefile
masterleinad d374e88
Indentation source files
masterleinad 552c410
Merge remote-tracking branch 'upstream/develop' into rebase-sycl-nlib…
masterleinad dc765e0
Fix
masterleinad 5de94eb
More indentation Makefile
masterleinad 1a0413f
Add flags in CMake
masterleinad 5412631
Fix compiler warnings
masterleinad e9e7db8
Fix print_configuration
masterleinad eef70d7
Use defaulted special member functions for View and ViewMapping
masterleinad 3d4acfc
Use defaulted special member functions for View and ViewMapping
masterleinad 139d55b
Don't enable tasks for HIP just yet
masterleinad 0f0c44f
CLeaned up wrong guard around in_parallel and removed unneeded
nliber 6c711cb
Added trivial check define to Kokkos_SYCL.hpp and call from Kernel La…
ee8844b
Merge pull request #4 from pvelesko/rebase_static_assert
nliber 274afa9
Expanded on the isTriviallyCopyable checks
nliber f391338
Merge pull request #5 from nliber/triviallycopyablecheck
nliber e16a7ec
Add CPU CI for SYCL
masterleinad b2b8d83
Fix indentation
masterleinad 186b9d3
Merge remote-tracking branch 'upstream/develop' into rebase-sycl-nlib…
masterleinad 32ed264
Merge remote-tracking branch 'upstream/develop' into rebase-sycl-nlib…
masterleinad 9f143d6
Merge remote-tracking branch 'upstream/develop' into develop
masterleinad 25c5469
Merge remote-tracking branch 'upstream/develop' into rebase-sycl-nlib…
masterleinad cd20340
Disable performance tests for SYCL
masterleinad 47e3b14
Rename struct ViewMapping to class
masterleinad af1a65f
C++14 compatibility
masterleinad ef2f3aa
Make ViewMapping trivially copyable
masterleinad ce86d48
Disable more tests for SYCL
masterleinad 970a010
Handle string in ViewMapping
masterleinad 11ac78e
Handle ViewTracker
masterleinad 1e7a8f4
Only use one active SYCL memory space for now
masterleinad 58465b9
Adapt output of ProfilingTestLibraryLoad
masterleinad c20a9d1
Disable tests that ask for a GPU in the SYCL CI
masterleinad 88aa004
Lower FEATURE_LEVEL for SYCL to 4
masterleinad 8fc70af
Fix Serial incremental test
masterleinad 3522edc
Remove some debug comments
masterleinad 7d13423
Merge remote-tracking branch 'upstream/develop' into sycl_newest
masterleinad 31345ea
Call std::abort() in some more places
masterleinad f3a88c1
Address KOKKOS_ENABLE_PROFILING
masterleinad 6355690
Abort on deep_copy
masterleinad ded3e56
Revert change to Kokkos_Core.cpp
masterleinad c9247bd
Added support for SYCL indirect kernel execution.
nliber 145a9be
Merge pull request #7 from nliber/indirect-launch
nliber c4b0f6b
WIP: Replaced IndirectKernel from using a vector to a hand rolled
nliber 0b0274a
For IndirectKernelMemory, changed from USM shared to USM device
nliber 5708d9d
Optimization for USMObject::reserve() to free the buffer it is holding
nliber f41cb3f
Made USMObject default constructible (and moveable, as that
nliber 0427232
Renamed USMObject to USMObjectMem
nliber c08e5b2
Merge pull request #8 from nliber/indirect-launch
nliber File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -57,6 +57,15 @@ Kokkos_HIP_Locks.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP | |
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Locks.cpp | ||
endif | ||
|
||
ifeq ($(KOKKOS_INTERNAL_USE_SYCL), 1) | ||
Kokkos_SYCL.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/SYCL/Kokkos_SYCL.cpp | ||
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/SYCL/Kokkos_SYCL.cpp | ||
Kokkos_SYCL_Space.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/SYCL/Kokkos_SYCL_Space.cpp | ||
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/SYCL/Kokkos_SYCL_Space.cpp | ||
Kokkos_SYCL_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/SYCL/Kokkos_SYCL_Instance.cpp | ||
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/SYCL/Kokkos_SYCL_Instance.cpp | ||
endif | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So far I haven't checked the Makefile system. |
||
|
||
ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) | ||
Kokkos_ThreadsExec_base.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec_base.cpp | ||
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec_base.cpp | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#!/bin/bash | ||
FLAGS="" | ||
dry_run=0 | ||
host_compiler=clang++ | ||
|
||
cpp_file="" | ||
|
||
while [ $# -gt 0 ] | ||
do | ||
case $1 in | ||
#show the executed command | ||
--show) | ||
dry_run=1 | ||
;; | ||
--version) | ||
compute++ --version | ||
exit | ||
;; | ||
-ccbin) | ||
shift | ||
host_compiler=$1 | ||
;; | ||
#Source files | ||
*.cpp|*.cxx|*.cc|*.C|*.c++) | ||
cpp_file="$1" | ||
;; | ||
#All other arguments | ||
*) | ||
FLAGS+=" $1" | ||
;; | ||
esac | ||
shift | ||
done | ||
|
||
SYCLFLAGS="-sycl -intelspirmetadata -sycl-target spir64" | ||
|
||
sycl_file_full=`echo ${cpp_file} | sed 's|\.cpp|\.sycl|g'` | ||
sycl_file=`echo $(basename "${sycl_file_full%.*}")`.sycl | ||
|
||
link=`echo ${#cpp_file}` | ||
|
||
if [ ${dry_run} -eq 1 ]; then | ||
if [ ${link} -eq 0 ]; then | ||
echo "${host_compiler} ${FLAGS}" | ||
else | ||
echo "compute++ ${SYCLFLAGS} ${FLAGS} ${cpp_file}" | ||
echo "${host_compiler} ${FLAGS} -include ${sycl_file} ${cpp_file}" | ||
fi | ||
else | ||
if [ ${link} -eq 0 ]; then | ||
${host_compiler} ${FLAGS} | ||
else | ||
compute++ ${SYCLFLAGS} ${FLAGS} ${cpp_file} | ||
${host_compiler} ${FLAGS} -include ${sycl_file} ${cpp_file} | ||
fi | ||
fi | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we still need/want this file? |
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't have anything corresponding in the CMake configuration. Is this required?