Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
1775fb1
nits
Sh0g0-1758 Sep 23, 2025
2f7cd1d
blech
Sh0g0-1758 Sep 23, 2025
1339c21
Co-authored-by: Anant jain <anant37289@users.noreply.github.com>
Sh0g0-1758 Sep 23, 2025
7a93362
Revert "Co-authored-by: Anant jain <anant37289@users.noreply.github.c…
Sh0g0-1758 Sep 23, 2025
6bfabba
Revert "blech"
Sh0g0-1758 Sep 23, 2025
6d298a0
okay
Sh0g0-1758 Sep 23, 2025
62eba90
ho
Sh0g0-1758 Sep 23, 2025
e158c20
Revert "ho"
Sh0g0-1758 Sep 23, 2025
b1c70ea
hahaha
Sh0g0-1758 Sep 23, 2025
6e62642
success
Sh0g0-1758 Sep 23, 2025
cfb4dbd
it works
Sh0g0-1758 Sep 23, 2025
aadeaf7
use more kokkos
Sh0g0-1758 Sep 24, 2025
f74d0ec
test more functionality on cpu
Sh0g0-1758 Sep 24, 2025
1f82f03
cmake build switch
Sh0g0-1758 Sep 27, 2025
fd5c8d5
Revert "cmake build switch"
Sh0g0-1758 Sep 27, 2025
6290e72
Improved dot
AdvaitTahilyani Sep 29, 2025
81c2663
Fixed random gen
AdvaitTahilyani Sep 29, 2025
d0b1b6d
Fixed axpy
AdvaitTahilyani Sep 29, 2025
ecd8dc7
test a working kokkos codegen pipeline
Sh0g0-1758 Sep 29, 2025
1076d96
kokkos backend codegen for primitive ops
Sh0g0-1758 Sep 29, 2025
e2e9990
tested functional correctness
Sh0g0-1758 Sep 29, 2025
0c3b2a1
kokkos backend for custom binary/unary ops
Sh0g0-1758 Sep 30, 2025
0264429
kokkos backend for custom operation
Sh0g0-1758 Sep 30, 2025
81f6b5c
faster hash, faster strings, better codegen to produce less kernels
Sh0g0-1758 Sep 30, 2025
d5d8035
isolate codegen into a retargetable class
Sh0g0-1758 Sep 30, 2025
1fae48c
remove further dependence on vec_map
Sh0g0-1758 Sep 30, 2025
2bcca88
isolate execute and generate/compile kernel
Sh0g0-1758 Sep 30, 2025
7c16dca
pre-compile optimization to avoid repeated so file creation for same …
Sh0g0-1758 Oct 1, 2025
beb5627
fix unary and binary ops by taking fptr from moved object and passing…
Sh0g0-1758 Oct 1, 2025
025ba0e
self contained functionally correct cpu build with kokkos backend
Sh0g0-1758 Oct 1, 2025
0b83ed7
hardware agnostic build
Sh0g0-1758 Oct 2, 2025
fdd0c1e
add gpu link options
Sh0g0-1758 Oct 2, 2025
53bc7a0
fix cmake dependence issue
Sh0g0-1758 Oct 2, 2025
93de0c2
fix gpu linking
Sh0g0-1758 Oct 2, 2025
2c81aa1
fix multi pe error: load library on each pe through group
Sh0g0-1758 Oct 2, 2025
0d59042
Missing Includes on MacOS
AdvaitTahilyani Oct 2, 2025
e4dc7da
Switched to kokkos 2d
AdvaitTahilyani Oct 2, 2025
45e2aa2
Updated to use kokkos instead of eigen
AdvaitTahilyani Oct 2, 2025
9b536cc
generalize codegen to nD views
Sh0g0-1758 Oct 5, 2025
c969261
codegen for matrix
Sh0g0-1758 Oct 5, 2025
a30231f
fix indexing issue, fix pup issue and run correctness checks
Sh0g0-1758 Oct 5, 2025
213b8b0
add indexing to custom unops/binops
Sh0g0-1758 Oct 5, 2025
c1f1391
cleanup
Sh0g0-1758 Oct 5, 2025
becd705
Fixed issues for GPU compatibility
AdvaitTahilyani Oct 5, 2025
0c5c51c
use concepts to specialize operators and disambiguate them from arith…
Sh0g0-1758 Oct 6, 2025
fe4d81b
fix indexing scheme for where
Sh0g0-1758 Oct 6, 2025
c8c3dea
C++14 type_traits
Sh0g0-1758 Oct 8, 2025
873607f
fix vec type check for binop
Sh0g0-1758 Oct 9, 2025
62e0f6c
aadding direct ops
Oct 12, 2025
5724da3
clang fmt + lib from lib64 + restore vector.cpp + get name instead of…
anant37289 Oct 12, 2025
0378b38
ctors for python AST -> flattened AST conversion
Sh0g0-1758 Oct 12, 2025
882915f
Merge pull request #14 from anant37289/ops_direct
Sh0g0-1758 Oct 12, 2025
7804b2f
Fixed dot
AdvaitTahilyani Oct 13, 2025
ae98fc3
GPU Fix
AdvaitTahilyani Oct 13, 2025
f537beb
fix unary/binary for charmnumerics
Sh0g0-1758 Oct 13, 2025
1fc5913
fix where op indexing
Sh0g0-1758 Oct 13, 2025
91387a2
remove bugs in unops, add print for binops
anant37289 Oct 13, 2025
c45e9b2
expose matmul as a separate op
Sh0g0-1758 Oct 13, 2025
5f923e6
fix matmul constructor by actually allocating space for it in the map
Sh0g0-1758 Oct 13, 2025
915dcda
log base support
anant37289 Oct 13, 2025
7ce8496
make axpy a custom binary operation
anant37289 Oct 14, 2025
fe0e7f2
pass in broadcasted scalars as a runtime param to reduce number of ke…
Sh0g0-1758 Oct 14, 2025
d23b616
nit
Sh0g0-1758 Oct 14, 2025
99bf425
feat: ct backend for AST fusion using decorators (#15)
anant37289 Oct 15, 2025
4a26839
dealloc (#16)
Sh0g0-1758 Oct 17, 2025
43a9ae3
Revert "dealloc (#16)"
Sh0g0-1758 Oct 17, 2025
91f60ca
Reapply "dealloc (#16)"
Sh0g0-1758 Oct 18, 2025
a3ff151
gpu setup script + different deletion stratergy
anant37289 Oct 19, 2025
18d0cce
patched for matrix on GPU
anant37289 Oct 22, 2025
1815280
First CI/CD Test
AdvaitTahilyani Oct 23, 2025
e6b4da7
Improved CI with testing
AdvaitTahilyani Oct 23, 2025
a1f8ac6
Removed unnecessary build step
AdvaitTahilyani Oct 23, 2025
8f0e91a
use parallel_reduce for sum
Sh0g0-1758 Oct 28, 2025
28a6f68
kokkos kernels for cpu
anant37289 Oct 29, 2025
462eb65
nit
Sh0g0-1758 Oct 29, 2025
e8f5f29
update setup scripts to use the latest release
anant37289 Oct 29, 2025
e8e10d3
mat-vec reduction to nodegroup design
Sh0g0-1758 Oct 31, 2025
cb38a01
data transfer scheme for vec-mat
Sh0g0-1758 Oct 31, 2025
ba21a03
copy to host
Sh0g0-1758 Oct 31, 2025
92e696f
back to sizes
Sh0g0-1758 Oct 31, 2025
92c3506
fix race condition
Sh0g0-1758 Oct 31, 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
6 changes: 4 additions & 2 deletions charmtyles/backend/charmtyles_base.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,8 @@ class vector_impl : public CBase_vector_impl
* TODO: This might fail due to a double free depending on how charm runtime
* destroys the charmArrays.
*/
vec_map[node_id].~View();
Kokkos::View<double*> releivingRef;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

can you make this a class member @anant37289

vec_map[node_id] = releivingRef;
} return;
case ct::util::Operation::custom_expr:
{
Expand Down Expand Up @@ -889,7 +890,8 @@ class matrix_impl : public CBase_matrix_impl
* TODO: This might fail due to a double free depending on how charm runtime
* destroys the charmArrays.
*/
mat_map[node_id].~View();
Kokkos::View<double**> releivingRef;
mat_map[node_id] = releivingRef;
} return;
case ct::util::Operation::custom_expr:
{
Expand Down
26 changes: 26 additions & 0 deletions setup_gpu.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
if [ -d "./kokkos/install" ]; then
echo "Kokkos Found at ${PWD}/kokkos/install"
else
git clone https://github.com/kokkos/kokkos.git
cd kokkos
rm -rf build
mkdir build
cd build
pwd

# ensure that you have cmake/3.27.9 cuda/12.4.0 and eigen[for later] loaded

## for delta please run these before running the setup script
# module load cuda/12.4.0
# module load eigen
# module load cmake/3.27.9

## The best practice is to let cmake autodetect the architecture, please run on a GPU syster or add a srun
srun cmake -DBUILD_SHARED_LIBS=ON .. -DKokkos_ENABLE_CUDA=ON
pwd

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

  1. nit: GPU system
  2. why pwd ?

make -j${nproc}
cd ..
mkdir install
cmake --install build --prefix install
cd ..
fi