Uh oh!
There was an error while loading. Please reload this page.
OPEN: Snitch support integration - #14
Conversation
add snitch support snitch repo changed snitch repo changed switching to main branch of snitch add snitch and banshee commit hash
d66d7ae to
dca8455Comparefixing typo change image in yml files cahnge image in yml files fix typo
dca8455 to
57ca63eCompare57ca63e to
da662e1Compare
lukamac
left a comment
There was a problem hiding this comment.
Not bad but needs a few changes here and there.
I still haven't looked properly at the Dockerfile so there might be some comments there too.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| runs-on: ubuntu-22.04 | ||
| container: | ||
| image: ghcr.io/pulp-platform/deeploy:main | ||
| image: ghcr.io/tahaelbayad/deeploy:main |
There was a problem hiding this comment.
At what point do we change this? Right before merging and ensuring we rebuild the pulp-platform docker container, right?
(Same for the other occurrences)
There was a problem hiding this comment.
Exactly. First, we check that the modified CI passes using the modified Docker Container. Then, we reverted the container link to point at the main repo container. Finally, we merge and manually trigger the docker build with the new Dockerfile, then restart the CI on the main repo that would use the new docker.
There was a problem hiding this comment.
NIT, but then I suggest adding a todo in the description (using the "- [ ]" notation. This will also ensure that the PR is not merged before all open tasks are completed.
f7cfa7f to
f87c6b5CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
357ee6c to
1ac4c9aCompare- cMake Flow for the Snitch Cluster - Added `snitch_cluster` to Makefile - New Snitch platform with testing application - Testrunner for tiled and untiled execution (`testRunner_snitch.py`, `testRunner_tiled_snitch.py`) - Minimal library with CycleCounter and utility function - Update the Banshee's commit to include a recent PR.
This release contains major architectural changes, new platform support, enhanced simulation workflows, floating-point kernel support, training infrastructure for CCT models, memory allocation strategies, and documentation improvements. After merging this into `main`, the release process will proceed with: - Pushing a Git tag for the release after merging this PR - Creating a GitHub release with the prepared tag. Note: Since the release tag references the Docker container tagged with the release tag (`ghcr.io/pulp-platform/deeploy:v0.2.0`), the CI will initially fail. The Deeploy Docker image must be built after the release PR is merged and the CI restarted. ### List of Pull Requests - Prepare v0.2.0 release [#102](#102) - Add Luka as Code Owner [#101](#101) - Fix CI, Docker Files, and Documentation Workflow [#100](#100) - Chimera Platform Integration [#96](#96) - Add Tutorial and Refactor README [#97](#97) - Reduce Mean Float Template [#92](#92) - Reshape Memory Freeing and Generic Float GEMM Fixes [#91](#91) - Prepare for Release and Separate Dependencies [#90](#90) - Fix input offsets calculation [#89](#89) - Move PULP SDK to main branch/fork [#88](#88) - Finite Lifetime for IO Tensors [#51](#51) - Improved Memory Visualization and Multi-Layer Tiling Profiling [#56](#56) - Fix Linting in CI and Reformat C Files [#86](#86) - Fix Broken CMake Flow For pulp-sdk [#87](#87) - Refactor Changelog For Release [#85](#85) - ARM Docker Container and Minor Bug Fix [#84](#84) - Added Kernel for Generic Float DW Conv2D [#63](#63) - Autoselect Self-Hosted Runners if the Action is on Upstream [#81](#81) - TEST_RECENT linking on MacOS [#78](#78) - Add RV32IMF Picolibc support for Siracusa platform [#66](#66) - Improve Documentation and VSCode Support [#76](#76) - Debug Print Topology Pass and Code Transformation [#75](#75) - Find all subdirectories of Deeploy when installing with pip install [#70](#70) - Add milestone issue template [#71](#71) - Bunch of fixes and changes [#58](#58) - Add SoftHier platform [#65](#65) - rv32imf_xpulpv2 ISA support for Siracusa platform [#64](#64) - One LLVM To Compile Them All [#60](#60) - One GVSoC to Simulate Them All [#59](#59) - Add Support for CCT Last Layer Training with Embedding Dim 8-128 [#55](#55) - Add CCT Classifier Training Support [#53](#53) - L3 Bugs: DMA Struct Datatype and Maxpool Margin Error [#45](#45) - DeepQuant Quantized Linear Support [#54](#54) - Implemented Dequant Layer for Generic and Siracusa [#52](#52) - Infinite Lifetime Buffers Considered in Tiling & Memory Allocation (+ Visualization) [#44](#44) - Implemented Quant Layer for Generic and Siracusa [#49](#49) - Increase maximal Mchan DMA transfer sizes from 64KiB to 128KiB [#47](#47) - Add MiniMalloc and Decouple Memory Allocation and Tiling [#40](#40) - Float CCT Bugs on L3 [#37](#37) - Memory Allocation Strategies and Visualization [#36](#36) - Add CODEOWNERS [#42](#42) - Add Tiling Support to All CCT Kernels and Fix CCT Operators on Siracusa Platform for L2 [#35](#35) - Add Fp gemm and Softmax for Snitch platform [#31](#31) - Add Float Kernels for CCT [#29](#29) - documentation deployment [#34](#34) - main.c Float Cast Bugs [#28](#28) - Add Float GEMM on PULP with Tiling [#26](#26) - Add Float Support & Float GEMM for Generic [#25](#25) - GVSOC support for the Snitch Cluster platform [#23](#23) - Snitch Cluster Tiling Support [#22](#22) - Snitch support integration [#14](#14) - Update bibtex citation [#20](#20) - the PR template location, bump min python to 3.10, change install command [#17](#17) - Add pre-commit for python formatting [#15](#15) - FP integration (v2) [#12](#12) - shell for sequential tests of Generic, Cortex, and Mempool platforms [#11](#11) - Add issue templates [#10](#10) - Minor CI and Readme Improvements [#8](#8) - Fix GHCR Link for Docker Build [#7](#7) - neureka's ccache id [#6](#6) - GitHub-based CI/CD Flow [#4](#4) - Generic Softmax Kernel [#2](#2) - Port GitLab CI [#1](#1)
… CCT fixtures (pulp-platform#14) * fix(gelu): use exact erf-based GELU forward to match PyTorch nn.GELU() The previous tanh approximation (0.5*x*(1+tanh(sqrt(2/pi)*(x+0.044715*x^3)))) diverges from PyTorch's default nn.GELU(), which uses the exact formula 0.5*x*(1+erf(x/sqrt(2))). Switch to the erf form so that the PULP forward pass is numerically consistent with the reference and with the erf-based GELU backward (GELU_fp32_fp32_sigmoid_grad_chunk). * fix(cct): correct GeluGrad data_in in CCT and CCT-LoRA training fixtures The BiasGeluGrad_dX → GeluGrad optimizer pass was emitting GeluGrad(dY, X) instead of GeluGrad(dY, X+bias). Both cct_train and cct_lora_train vendor the already-optimized network.onnx, so the bug was baked in. Patch both ONNX graphs directly: the Add(X, bias) → X_add_bias forward node already exists in each graph (from run_optmization_remove_biasgelu), so updating the GeluGrad second input to X_add_bias requires no new nodes. Loss comparison (outputs.npz) is unaffected: the reference loss is a forward-pass quantity that does not depend on the backward GeluGrad path.
This PR adds the support for the Snitch Cluster and its testing infrastructure already integrated in the GitLab repository.
Added