Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
c1a3cd7
rebsing
ABenC377 Oct 11, 2024
21366b4
rebsing
ABenC377 Oct 11, 2024
f2ed11f
Implementing cuSPARSE kernel
ABenC377 Mar 13, 2024
c208246
Trying to work out CSR malloc bug
ABenC377 Mar 13, 2024
de14a56
Trying to work out CSR malloc bug
ABenC377 Mar 13, 2024
49cddf0
cuSPARSE unified memory implementation
ABenC377 Mar 19, 2024
37ce8b4
Now compiles
ABenC377 Mar 21, 2024
143c1c0
Now compiles with fewer runtime errors
ABenC377 Mar 25, 2024
bcd7ae8
rebasing
ABenC377 Oct 11, 2024
2ffee16
All implemented and running. No checksum at the end
ABenC377 Mar 26, 2024
064ec57
Removing print statements
ABenC377 Mar 26, 2024
88a053f
Removing print statements
ABenC377 Mar 29, 2024
5b04a2c
rebasing
ABenC377 Apr 1, 2024
23d318b
rebasing
ABenC377 Oct 11, 2024
be9094c
rebasing
ABenC377 Oct 11, 2024
7cfa7be
Tidying up spGEMM classes to remove duplicated code
ABenC377 Apr 3, 2024
30d384e
rebasing
ABenC377 Oct 11, 2024
cc8e2a8
rebasing
ABenC377 Oct 11, 2024
de56ae1
rebasing
ABenC377 Oct 11, 2024
b972c23
rebasing
ABenC377 Oct 11, 2024
1f5f2dd
rebasing
ABenC377 Oct 11, 2024
b06250c
rebasing
ABenC377 Oct 11, 2024
42bdc58
Adding AOCL files
ABenC377 Aug 21, 2024
521cbf3
Working changes
ABenC377 Oct 1, 2024
a8e5c46
Adding AOCL files
ABenC377 Oct 11, 2024
9eb4646
No longer overwriting B_
ABenC377 Oct 3, 2024
7f82b7d
Adding AOCL files
ABenC377 Oct 11, 2024
0130b81
Adding AOCL files
ABenC377 Oct 11, 2024
4581637
Providing armpl with hints
ABenC377 Oct 11, 2024
477b7a0
Updating createGflopsGraphs.py to show sparsity
ABenC377 Oct 21, 2024
407c008
Beginning gemv ARMPL
ABenC377 Oct 21, 2024
8934588
Beginning gemv ARMPL
ABenC377 Oct 21, 2024
2e61261
still trying to figure out segfault...
ABenC377 Jan 2, 2025
bc70814
Getting rid of old oneMKL sparse file
ABenC377 Jan 2, 2025
52d5e91
Refactoring to make individual files relate to a single kernel
ABenC377 Jan 7, 2025
7819f6f
Moving spgemv into new format
ABenC377 Jan 8, 2025
d7ad2b7
Finishing off armpl and cusparse kernels
ABenC377 Jan 9, 2025
8bc9125
Finishing off OneMKL CPU support
ABenC377 Jan 14, 2025
77e7591
Debugging onemkl
ABenC377 Jun 5, 2025
9232d53
Debugging onemkl
ABenC377 Jun 6, 2025
64d5a98
Debugging onemkl
ABenC377 Jun 6, 2025
b293860
Debugging onemkl -- now seems to be running SPMM
ABenC377 Jun 6, 2025
4346671
Debugging onemkl -- now seems to be running SPMM BUT SLOWWWWW
ABenC377 Jun 6, 2025
5696894
Debugging onemkl -- now seems to be running SPMM BUT SLOWWWWW
ABenC377 Jun 6, 2025
a154785
Debugging onemkl
ABenC377 Jun 6, 2025
d1a6425
Debugging onemkl
ABenC377 Jun 6, 2025
c7da585
Debugging onemkl
ABenC377 Jun 6, 2025
67ee9a7
Debugging onemkl
ABenC377 Jun 7, 2025
8bd023e
Debugging onemkl
ABenC377 Jun 7, 2025
a4179dd
Debugging onemkl
ABenC377 Jun 7, 2025
23d8770
Debugging onemkl -- unified now working?
ABenC377 Jun 7, 2025
85207c2
Debugging onemkl -- unified now working?
ABenC377 Jun 7, 2025
83201dc
Debugging onemkl
ABenC377 Jun 7, 2025
c896684
Debugging onemkl
ABenC377 Jun 7, 2025
0da840e
Debugging onemkl
ABenC377 Jun 9, 2025
9e52a69
Debugging onemkl
ABenC377 Jun 9, 2025
1a87c06
Debugging onemkl
ABenC377 Jun 9, 2025
da8b95e
Debugging onemkl
ABenC377 Jun 9, 2025
35dbf65
Debugging onemkl
ABenC377 Jun 9, 2025
8ebb073
Debugging onemkl
ABenC377 Jun 9, 2025
067e174
Debugging onemkl
ABenC377 Jun 9, 2025
9295993
Debugging onemkl
ABenC377 Jun 10, 2025
04108fd
Debugging onemkl
ABenC377 Jun 10, 2025
8e6a71a
Debugging onemkl
ABenC377 Jun 10, 2025
9ed9f06
Debugging onemkl
ABenC377 Jun 10, 2025
beb9df3
Debugging onemkl
ABenC377 Jun 10, 2025
01e8f29
Debugging onemkl
ABenC377 Jun 10, 2025
5cbf28b
Debugging onemkl
ABenC377 Jun 10, 2025
41d591c
Debugging onemkl
ABenC377 Jun 11, 2025
e60bc1b
Debugging onemkl
ABenC377 Jun 11, 2025
932d453
Debugging onemkl
ABenC377 Jun 11, 2025
383c124
Debugging onemkl
ABenC377 Jun 11, 2025
f0fd35f
Debugging onemkl
ABenC377 Jun 11, 2025
4c0fd16
Debugging onemkl
ABenC377 Jun 11, 2025
8fc9295
Debugging onemkl
ABenC377 Jun 11, 2025
41c69c0
Debugging onemkl
ABenC377 Jun 11, 2025
9fdded7
Debugging onemkl
ABenC377 Jun 12, 2025
99db65c
Debugging onemkl
ABenC377 Jun 12, 2025
dca5c5e
Debugging onemkl -- SpMM running but far too slowly
ABenC377 Jun 16, 2025
042f236
Debugging AOCL -- Setting up makefile to build sparse stuff
ABenC377 Jun 16, 2025
2210ca0
Debugging AOCL -- Setting up makefile to build sparse stuff
ABenC377 Jun 19, 2025
342b4e8
AOCL debugging
ABenC377 Jun 20, 2025
e219248
AOCL debugging
ABenC377 Jun 20, 2025
9acf079
Writing AOCL
ABenC377 Jun 22, 2025
5ef796b
Adding to git ignore
ABenC377 Jun 22, 2025
18c1e3c
Leading dimension confusion
ABenC377 Jun 22, 2025
dfd8919
AOCLing
ABenC377 Jun 22, 2025
db5d361
Spmm working well now on AOCL -- just SpGEMV remaining
ABenC377 Jun 23, 2025
c10593c
AOCL all done!
ABenC377 Jun 23, 2025
6ea50bf
updating gitignore
ABenC377 Jun 24, 2025
a5eaf66
SpGEMM and SpGEMV running on ONEKL CPU and GPU
ABenC377 Jul 4, 2025
9ca69f2
spMM now working sometimes
ABenC377 Jul 8, 2025
405543e
Leaving current state of affairs for ONEMKL as DAWN is having a moment
ABenC377 Jul 9, 2025
f3cc2ad
Spmm rocSPARSE now compiling
ABenC377 Jul 17, 2025
ab3a149
Currently failing on the nnz step with an internal error...
ABenC377 Jul 24, 2025
d214871
oving to the dpgemm API
ABenC377 Jul 25, 2025
c4cec6a
Continuing wit spGEMM debugging
ABenC377 Jul 26, 2025
ddb1825
Cleaning up code
ABenC377 Jul 28, 2025
ce56085
PRinting out rocsparse CSR data
ABenC377 Jul 29, 2025
41d641f
Converting spGEMV to generic functions
ABenC377 Jul 29, 2025
6e33445
spGEMM now working with generic functions. We go again!
ABenC377 Jul 29, 2025
60b510e
Changes to emphasis rcom bug
ABenC377 Jul 29, 2025
a761461
Fixing compile command for DAWN
ABenC377 Jul 30, 2025
3999726
SPGEMV onemkl unified now working
ABenC377 Aug 5, 2025
59c7482
Refactoring to allow checksums for sparse
ABenC377 Aug 9, 2025
f528583
Getting rocblas and rocsparse to work on Isambard Instinct node
ABenC377 Aug 11, 2025
c8a5aff
Debugging changes
ABenC377 Aug 12, 2025
4ad3ad5
Milan/Ampere node now compiling and running
ABenC377 Aug 13, 2025
15448ca
SpGEMV cookin'
ABenC377 Aug 13, 2025
0900c0e
Cookin
ABenC377 Aug 13, 2025
15bdb98
Segfaulting after all SpGEMV kernels run!?
ABenC377 Aug 13, 2025
f9dd6ae
PLaying with RMAT algorithm
ABenC377 Aug 14, 2025
d130421
SpGEMV running a dream
ABenC377 Aug 14, 2025
4ad0a69
SpGEMM whistling
ABenC377 Aug 14, 2025
63df046
Tidying things up
ABenC377 Aug 15, 2025
df87fc4
AMD CPU Nvidia GPU now working!
ABenC377 Aug 18, 2025
c3fc7a5
Cleaning up onemkl CPU code
ABenC377 Aug 20, 2025
8a77b9b
Implementing calcFlops for sparse kernels
ABenC377 Aug 28, 2025
4224d19
Straight to CSR graph generation
ABenC377 Aug 29, 2025
3a1b812
Tightening things up
ABenC377 Sep 2, 2025
da8701a
Fixing a silly bug
ABenC377 Sep 2, 2025
3213c18
fixing
ABenC377 Sep 2, 2025
9f1b4a9
calcKib for spmm
ABenC377 Sep 2, 2025
1719fc3
Marginal RMAT speed-up
ABenC377 Sep 3, 2025
b3e82a3
Adding random spars matrices
ABenC377 Sep 3, 2025
cf820a5
Implementing randomCSR in onemkl
ABenC377 Sep 3, 2025
8ef3a82
Simplifying calKernels function
ABenC377 Sep 3, 2025
58b275c
Cleaning up
ABenC377 Sep 3, 2025
3165fa6
cleaning up amd/nvidia code
ABenC377 Sep 10, 2025
8fba9ec
spgemv and spgemm now running on DAWN
ABenC377 Sep 15, 2025
01d34d0
SpMM not working for OneMKL GPU. Going to rewrite so this is a backup
ABenC377 Sep 16, 2025
eb21b0c
rewritten SpMM
ABenC377 Sep 17, 2025
af1dc4d
Cleaining up cusparse SpGEMM
ABenC377 Sep 17, 2025
110f090
Optimising cuSparse code
ABenC377 Sep 18, 2025
e0c23a1
Dumb handle_bug in gemm and mm
ABenC377 Sep 19, 2025
a66b911
Adjusting cusparse parameters etc.
ABenC377 Sep 22, 2025
ce64297
Quick spGEMV bug fix
ABenC377 Sep 22, 2025
c5ba0be
onemkl working!
ABenC377 Sep 30, 2025
959cae0
ArmPL working -- GH can now go
ABenC377 Oct 1, 2025
c67a5a9
Incomplete NVPL implementation
ABenC377 Oct 4, 2025
e4c815b
Adding SpMM timings print-ouit to understand why always is quicker th…
ABenC377 Oct 4, 2025
068d95d
Cleaning up code and adding offload-type print statements to help und…
ABenC377 Oct 4, 2025
4f92779
MAking csv write happen immediately after an offload-type has been co…
ABenC377 Oct 4, 2025
236a641
Moving csv writes to immediately after compute for a given offload type
ABenC377 Oct 5, 2025
24cd67b
Getting rid of signed/unsigned comparison warnings
ABenC377 Oct 6, 2025
368f251
Cleaning up MKL code
ABenC377 Oct 6, 2025
cbbbf13
Fixing gitignore
ABenC377 Oct 6, 2025
300e047
Implementing step_ to allow deeper exploration in sparse kernels
ABenC377 Oct 6, 2025
674c4ba
Debugging step_
ABenC377 Oct 6, 2025
5f41e1a
Cleaning up code
ABenC377 Oct 6, 2025
704227c
Cleaning up code
ABenC377 Oct 7, 2025
79ee0c3
Reusing generated matrices in sparse problems to improve benchmark pe…
ABenC377 Oct 8, 2025
2b545f5
Debugging
ABenC377 Oct 10, 2025
019306a
Updating kernel names and adding to readme
ABenC377 Oct 13, 2025
ca35f28
Carrying name change over to onemkl cpu
ABenC377 Oct 13, 2025
fc90bd7
Adding finiteElements matrix type
ABenC377 Oct 27, 2025
a48aade
Cleaning up code
ABenC377 Oct 30, 2025
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
Binary file added .DS_Store
Binary file not shown.
3 changes: 2 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ BasedOnStyle: Google

DerivePointerAlignment: false
PointerAlignment: true
Standard: C++11
AlignAfterOpenBracket: BlockIndent
Standard: C++20
14 changes: 12 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,15 @@ gpu-blob
CSV*
Graphs*

# VS Code
.vscode
# IDE
.vscode

# MAC metadata
.DS_Store

# CSV files and graphs
*.csv
*.png

# Bash scripts to run on different systems
*.sh
2 changes: 2 additions & 0 deletions .idea/GPU-BLAS-Offload-Benchmark.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

628 changes: 628 additions & 0 deletions .idea/workspace.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions AOCL/gemm.hh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class gemm_cpu : public gemm<T> {
private:
/** Make call to the GEMM kernel. */
void callGemm() override {

if constexpr (std::is_same_v<T, float>) {
bli_sgemm(BLIS_NO_TRANSPOSE, BLIS_NO_TRANSPOSE, m_, n_, k_, &alpha, A_,
rowStride, std::max(1, m_), B_, rowStride, std::max(1, k_),
Expand Down
Loading