From e8aa98b5588dc10bdac8a65f3787bfbe7ba50c72 Mon Sep 17 00:00:00 2001 From: glukas Date: Mon, 20 Apr 2026 16:41:31 +0200 Subject: [PATCH 01/10] remove local file, update gitingore --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index e4abf423c3015c2b6eaed7d9ea0c0e7c37fafd93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJ5Iwu5S<|@EYYN-TycZkz(nQ*IRGe$1Vt=IAbNLHoQDdDhI{em!zWtdk|KH| z%{=dXcI{W}ctk{3PrIeaLPQ#iRj_J+I8xE7$XB@fDDiUGH~h)pl6#j=Yh0j zfDDj^HS~}9|G0=NGC&4SiUFN>>u!Zl z%HCRiob}oQy@h@Way=c!TQSgEF&5T}FMj0}dq%uX90R=^elG{|N5FWYkb(bT;1iJk BCkp@o diff --git a/.gitignore b/.gitignore index 0950c051..2ce1ae63 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,8 @@ __pycache__/ # DS STore -*.DS_STORE +.DS_Store +**/.DS_Store # .idea @@ -33,6 +34,10 @@ share/python-wheels/ *.egg MANIFEST +# SDK +/tests/csl_runtime/cerebras-sdk/ +/tests/csl_runtime/cerebras-sdk.tar.gz + # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. From 8b3e2ecbc88c80c3369afdeeee98bf57d2bdf5e5 Mon Sep 17 00:00:00 2001 From: glukas Date: Mon, 20 Apr 2026 16:41:53 +0200 Subject: [PATCH 02/10] Update license --- LICENSE | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE b/LICENSE index 22f678fa..e956fbce 100644 --- a/LICENSE +++ b/LICENSE @@ -2,6 +2,7 @@ BSD 3-Clause License Copyright (c) 2026, Lawrence Livermore National Security, LLC Copyright (c) 2026, SPCL, ETH Zurich +Copyright (c) 2026, Noéda AG All rights reserved. From fa605df64e214730c6502119d05dd6393eb195c5 Mon Sep 17 00:00:00 2001 From: glukas Date: Mon, 20 Apr 2026 16:50:51 +0200 Subject: [PATCH 03/10] Remove deprecated sync benchmarking --- spatialstencil/assets/csl/sync/README.md | 4 - spatialstencil/assets/csl/sync/layout.csl | 79 ----- spatialstencil/assets/csl/sync/pe.csl | 291 ------------------ spatialstencil/cli/compiler.py | 7 +- spatialstencil/lowering/spatial_ir_to_csl.py | 252 +++++++-------- spatialstencil/runtime/runtime.py | 83 +---- .../test_broadcast_1d_multicast.sh | 1 - 7 files changed, 117 insertions(+), 600 deletions(-) delete mode 100644 spatialstencil/assets/csl/sync/README.md delete mode 100644 spatialstencil/assets/csl/sync/layout.csl delete mode 100644 spatialstencil/assets/csl/sync/pe.csl diff --git a/spatialstencil/assets/csl/sync/README.md b/spatialstencil/assets/csl/sync/README.md deleted file mode 100644 index 03675e86..00000000 --- a/spatialstencil/assets/csl/sync/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# CSL PE Clock Synchronization Utility -The files in this folder were copied from the Cerebras SDK 1.4.0 [bandwidth-test benchmark](https://github.com/Cerebras/sdk-examples/tree/rel-sdk-1.4.0/benchmarks/bandwidth-test/src/sync). -They provide functionality for synchronizing the clocks of all PEs to measure -communication operations (e.g., collectives) correctly. Use with `--sync-benchmarking`. diff --git a/spatialstencil/assets/csl/sync/layout.csl b/spatialstencil/assets/csl/sync/layout.csl deleted file mode 100644 index 2ce43c76..00000000 --- a/spatialstencil/assets/csl/sync/layout.csl +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2025 Cerebras Systems. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -param colors:[5]color; -param entrypoints:[4]local_task_id; -param width : i16 ; // width of the core -param height: i16 ; // height of the core - -const C0 : color = colors[0]; -const C1 : color = colors[1]; -const C2 : color = colors[2]; -const C3 : color = colors[3]; -const C4 : color = colors[4]; - -const STARTUP: local_task_id = entrypoints[0]; -const SYNC_Y: local_task_id = entrypoints[1]; -const SYNC_BCAST: local_task_id = entrypoints[2]; -const EXIT: local_task_id = entrypoints[3]; - -fn get_params(px:i16, py:i16) comptime_struct { - - var first_py: bool = (0 == py); - var last_py: bool = ((height-1) == py); - var is_py_even: bool = (0 == (py % 2)); - - var first_px: bool = (0 == px); - var last_px: bool = ((width-1) == px); - var is_px_even: bool = (0 == (px % 2)); - - var c_recv_px: color = C0; - var c_send_px: color = C1; - if (is_px_even){ - c_recv_px = C0; - c_send_px = C1; - }else{ - c_recv_px = C1; - c_send_px = C0; - } - - var c_recv_py: color = C2; - var c_send_py: color = C3; - if (is_py_even){ - c_recv_py = C2; - c_send_py = C3; - }else{ - c_recv_py = C3; - c_send_py = C2; - } - - return .{ - .c_recv_px = c_recv_px, - .c_send_px = c_send_px, - .c_recv_py = c_recv_py, - .c_send_py = c_send_py, - .c_bcast = C4, - - .STARTUP = STARTUP, - .SYNC_Y = SYNC_Y, - .SYNC_BCAST = SYNC_BCAST, - .EXIT = EXIT, - - .first_px = first_px, - .last_px = last_px, - .first_py = first_py, - .last_py = last_py, - }; -} diff --git a/spatialstencil/assets/csl/sync/pe.csl b/spatialstencil/assets/csl/sync/pe.csl deleted file mode 100644 index 50fb29ef..00000000 --- a/spatialstencil/assets/csl/sync/pe.csl +++ /dev/null @@ -1,291 +0,0 @@ -// Copyright 2025 Cerebras Systems. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -param c_recv_px: color; -param c_send_px: color; -param c_recv_py: color; -param c_send_py: color; -param c_bcast: color; - -param STARTUP: local_task_id; -param SYNC_Y: local_task_id; -param SYNC_BCAST: local_task_id; -param EXIT: local_task_id; - -param first_px: bool; -param last_px: bool; -param first_py: bool; -param last_py: bool; - -// f_callback = sys_mod.unblock_cmd_stream, to continue next command -param f_callback : fn ()void; - -// input_queues={2,3,4} -// output_queues={2,3,4} -param input_queues:[3]u16; -param output_queues:[3]u16; - -const c_recv_px_iq = @get_input_queue(input_queues[0]); -const c_send_px_oq = @get_output_queue(output_queues[0]); - -const c_recv_py_iq = @get_input_queue(input_queues[1]); -const c_send_py_oq = @get_output_queue(output_queues[1]); - -const c_bcast_iq = @get_input_queue(input_queues[2]); -const c_bcast_oq = @get_output_queue(input_queues[2]); - -const timestamp = @import_module("