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

Add support for cooperative groups and grid synchronization #2307

Draft
wants to merge 42 commits into
base: develop
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
cadb1af
Add CreateTaskCooperativeKernel, grid sync and HelloWorldGridSyncExam…
MichaelVarvarin Jul 1, 2024
0453b9f
Add comment about issue with grid sync on CUDA Clang
MichaelVarvarin Jul 26, 2024
df5d4fd
Add cooperative kernel launch and grid sync support for HIP
MichaelVarvarin Jul 26, 2024
978f195
Add m_cooperativeLaunch device prop and runtime check for CG support …
MichaelVarvarin Jul 29, 2024
b7aee7a
Clean errors in previous commit
MichaelVarvarin Aug 1, 2024
3acaf11
Clean formatting
MichaelVarvarin Aug 2, 2024
5e9c5ce
Add getMaxActiveBlocks to get the maximum allowed block count for lau…
MichaelVarvarin Aug 7, 2024
a7a9b03
Rename maxActiveBlocks trait
MichaelVarvarin Aug 10, 2024
08e18cb
Fix issues from bad rebase
MichaelVarvarin Aug 12, 2024
c6dc462
Add cooperative kernel launch, grid sync and getMaxActiveBlocks for A…
MichaelVarvarin Aug 12, 2024
e88e0c1
Clean formatting
MichaelVarvarin Aug 13, 2024
bf9ddf0
Correct the comment
MichaelVarvarin Aug 13, 2024
148c521
Add cooperative kernel launch, grid sync and getMaxActiveBlocks for O…
MichaelVarvarin Aug 20, 2024
db43ec9
Clean formatting
MichaelVarvarin Aug 20, 2024
5f0bfa8
Update comments
MichaelVarvarin Aug 20, 2024
9247156
Add include gridSync OMP to alpaka.hpp
MichaelVarvarin Aug 27, 2024
907c0b9
Add cooperative kernel launch, grid sync and getMaxActiveBlocks for s…
MichaelVarvarin Aug 27, 2024
0455158
Clean warnings for CPU accelerators
MichaelVarvarin Sep 9, 2024
f7da2fe
Clean warnings for the HIP accelerator
MichaelVarvarin Sep 9, 2024
b20ddf2
Merge SYCL changes (#2)
MichaelVarvarin Nov 11, 2024
7cf652e
Revert "Merge SYCL changes (#2)" (#3)
MichaelVarvarin Nov 11, 2024
aaed855
Add cooperative groups and grid sync functionality to SYCL
MichaelVarvarin Nov 11, 2024
fab1f24
Rewrite example to use executeForEachAccTag
MichaelVarvarin Nov 12, 2024
1222309
Change from using concepts to interface due to rebase
MichaelVarvarin Nov 12, 2024
f2af59a
Implement grid sync and cooperative kernel functionality for Intel TBB
MichaelVarvarin Nov 16, 2024
215a292
BUGFIX: Change m_cooperativeLaunch prop for SYCL to true m_cooperativ…
MichaelVarvarin Nov 16, 2024
c95b136
Change AccCpuTbbBlocks object back to being local for each thread
MichaelVarvarin Nov 17, 2024
53e51c2
BUGFIX: add includes to achieve compilation
MichaelVarvarin Nov 17, 2024
0ff0779
Add gridSyncTest to test syncGridThreads()
MichaelVarvarin Nov 17, 2024
1070851
Clearer code and comments for helloWorldGridSync
MichaelVarvarin Nov 18, 2024
d83dfed
Add check if grid sync was successful
MichaelVarvarin Nov 18, 2024
0115af2
Remove template from example kernel
MichaelVarvarin Nov 18, 2024
07aed98
Try different parameter expansion
MichaelVarvarin Nov 18, 2024
62a58cc
Revert "Try different parameter expansion"
MichaelVarvarin Nov 18, 2024
4d914bd
Formatting changes
MichaelVarvarin Nov 18, 2024
ceac5d3
Formatting changes
MichaelVarvarin Nov 18, 2024
0a990d4
BUGFIX: Add explicit conversions
MichaelVarvarin Nov 19, 2024
dfcfb28
BUGFIX: add missing argument in GridSyncTest
MichaelVarvarin Nov 25, 2024
1203c09
BUGFIX: fix SYCL compilation error by passing additional template arg…
MichaelVarvarin Nov 25, 2024
310ad88
BUGFIX: add runtime check for cooperative launch support
MichaelVarvarin Nov 26, 2024
05effa5
Suppress GCC warning about pointer to object conversion
MichaelVarvarin Nov 26, 2024
9568256
Change format specifiers
MichaelVarvarin Nov 26, 2024
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
Prev Previous commit
Next Next commit
Clean errors in previous commit
MichaelVarvarin committed Nov 12, 2024
commit b7aee7aa4d750db4e15093e071d8d2baabf07180
2 changes: 1 addition & 1 deletion include/alpaka/acc/AccCpuOmp2Blocks.hpp
Original file line number Diff line number Diff line change
@@ -154,7 +154,7 @@ namespace alpaka
// m_globalMemSizeBytes
getMemBytes(dev),
//m_cooperativeLaunch
std::false_type()};
Clean errors in false};
}
};

2 changes: 1 addition & 1 deletion include/alpaka/acc/AccCpuOmp2Threads.hpp
Original file line number Diff line number Diff line change
@@ -164,7 +164,7 @@ namespace alpaka
// m_globalMemSizeBytes
memBytes,
//m_cooperativeLaunch
std::false_type()};
false};
}
};

2 changes: 1 addition & 1 deletion include/alpaka/acc/AccCpuSerial.hpp
Original file line number Diff line number Diff line change
@@ -147,7 +147,7 @@ namespace alpaka
// m_globalMemSizeBytes
getMemBytes(dev),
//m_cooperativeLaunch
std::false_type()};
false};
}
};

2 changes: 1 addition & 1 deletion include/alpaka/acc/AccCpuTbbBlocks.hpp
Original file line number Diff line number Diff line change
@@ -148,7 +148,7 @@ namespace alpaka
// m_globalMemSizeBytes
getMemBytes(dev),
//m_cooperativeLaunch
std::false_type()};
false};
}
};

2 changes: 1 addition & 1 deletion include/alpaka/acc/AccCpuThreads.hpp
Original file line number Diff line number Diff line change
@@ -172,7 +172,7 @@ namespace alpaka
// m_globalMemSizeBytes
memBytes,
//m_cooperativeLaunch
std::false_type()};
false};
}
};

2 changes: 1 addition & 1 deletion include/alpaka/acc/AccGenericSycl.hpp
Original file line number Diff line number Diff line change
@@ -156,7 +156,7 @@ namespace alpaka::trait
// m_globalMemSizeBytes
getMemBytes(dev),
//m_cooperativeLaunch
std::false_type()};
false};
}
};

4 changes: 2 additions & 2 deletions include/alpaka/kernel/TaskKernelGpuUniformCudaHipRt.hpp
Original file line number Diff line number Diff line change
@@ -212,8 +212,8 @@ namespace alpaka
{
if(!trait::GetAccDevProps<TAcc>::getAccDevProps(getDev(queue)).m_cooperativeLaunch)
{
throw std::runtime_error("This accelerator doesn't support cooperative gropus functionality!");
} else std::cout << "This accelerator supports cooperative gropus functionality!";
throw std::runtime_error("This accelerator doesn't support cooperative groups functionality!");
}
}
# endif