You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Refactor mchan hal
* Refactor IntrospectiveCodeTransformation
* Refactor MemoryAllocation
* Add minimalIntegerType helper function
* Small refactor DeeployTypes
* Change Neureka tile constraints to new TilingCodegen function
* Small refactors
Check for LLVM_INSTALL_DIR environment variable
Fix typo
Check for SNITCH_HOME environment variable and crash if not present
Change test output difference to absolute difference
Improve engine coloring error message
Fix type hint
* Permutation refactor
* Refactor TransposeTileConstraint
* Remove manual name mangling from templates since it's automatically done in the ExecutionBlock.generate()
* Change serialize to produce same shape rank as original
* Refactor TilingExtension
* Port PULPOpen
* Port Snitch
* DeeployTest: Extract generic tiling code into tilingUtils.py
* DeeployTest: Extract common test generation code
* DeeployTest: Add Dma tests
* Apply Philip's comments
Remove dory_dma.h
Fix hoistReference doc comment
Use the shape argument of the _hoistReference function
Rename dma test runners
Change kernelLevelTiling HACK comment to a TODO
Add DMA folder to targets with DMAs
Fix wrong deeployStateDir
Single source of truth for the tiling arena name
* Add unravelReference doc comment and fix the dealiasBuffer's
* Refactor type inference and minimal(Integer|Float)Type
* Revert extra inputs hack
* Add mchan check for both event- and poll-based event checking flags being set
* Fix HyperRectangle arg order
* Fix mchan check whether size is representable within 17 bits
* Fix init, deinit, wait on initialFuture in DoubleBuffering, rename gen to anydimAdapter
* Fix GEMM tile constraint serialization to check transA and transB
* Fix inherit from ABC in AsyncDma and AsyncDmaWaitingStrategy
* Fix use tileSizeInBytes to check whether it fits in memory
* Update changelog
* Add missing transferOpRepr abstract method from the BlockingAsyncDmaAdapter
Copy file name to clipboardExpand all lines: CHANGELOG.md
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,27 +2,60 @@
2
2
This file contains the changelog for the Deeploy project. The changelog is divided into sections based on the version of the project. Each section contains a list of pull requests, features, changes, fixes, and removals that were made in that version.
3
3
4
4
## Unreleased (Planned Release Target: v0.2.1)
5
+
5
6
### List of Pull Requests
6
7
- Change order of typeMatching entries [#68](https://github.com/pulp-platform/Deeploy/pull/68)
7
8
- Node Mangling to avoid duplication [#93](https://github.com/pulp-platform/Deeploy/pull/93)
8
9
- Prepare Post v0.2.0 Release [#104](https://github.com/pulp-platform/Deeploy/pull/104)
9
10
- Use Docker digests instead of arch-specific tags [#106](https://github.com/pulp-platform/Deeploy/pull/106)
- Add manual type inference feature (CLI: `--input-type-map`/`--input-offset-map`) to resolve ambiguities when test inputs are not representative enough
13
15
- Added a `testTypeInferenceDifferentTypes` test case to validate type inference for different input types
14
16
- Added `_mangleNodeNames` function to avoid duplicate node mappings
15
17
- Output Docker image digests per platform (`amd64`, `arm64`) after build, which is used to construct the multi-arch Docker manifest. This preventes registry clutter caused by unnecessary per-architecture Docker tags.
18
+
- AsyncDma abstraction of DMA's
19
+
- test runner per DMA and a script that tests all the DMA's
- TilingVariableReplacementUpdate class that updates the variable replacement refs
22
+
- TilingHoistingMixIn class that encapsulates all the hoisting helper functions of tiling
23
+
- sorting of input memory allocations to allow references that live in the same memory level as the memory they are referencing
24
+
- a function that tests the tiling solution for correctness which currently only tests buffer allocation for byte alignment
25
+
- IntrospectiveCodeTransformation: `_indexPointer()`, `indexVars()`, `dereferenceVars()`. The `*Vars` functions index/dereference a list of variables (useful for tiling)
26
+
- NetworkContext: `unravelReference()` that unravels a `_ReferenceBuffer` until the base buffer
27
+
- NetworkContext: `is_object()` - helper function that determines whether the string represents a name of a local or global object
28
+
- NetworkContext: `is_buffer()` - helper function that determines whether the string represents a name of a buffer
29
+
- missing checks for environment variables
30
+
-`_permuteHyperRectangle` helper function
16
31
17
32
### Changed
18
33
- Replaced platform-specific tags (`*-amd64`, `*-arm64`) with direct digest references in `Noelware/docker-manifest-action`.
34
+
- mchan HAL is now reduced to bare-bones
35
+
- refactor of the IntrospectiveCodeTransformation to work on the Mako template
36
+
- refactor of memory allocation code transformation passes
37
+
-_ReferenceBuffer accepts an optional `offset` argument to offset the reference
38
+
- NetworkContext: `hoistReference` - accepts the actual buffer as reference instead of name, accepts shape, offset, and override_type arguments, and returns the actual buffer, not its name
39
+
-`_mangleNodeRep` -> `_mangleOpRepr` - the canonical name we use is `OperatorRepresentation`. `NodeRep` and `ParseDict` are old iterations of the name.
40
+
- rename of permutation functions to follow this convention: `permute` is an action that permutes something, `permutation` is a function that generates a permutation
41
+
-`_permuteList` to just `_permute`
42
+
- removed manual buffer name mangling since we do it in the ExecutionBlock generate() function, simplifies templates
43
+
- we now check that buffer shapes/hyperrectangles/tiling ranks match which required changing a few `serializeTilingSolution` functions to preserve the same shape rank
44
+
- big refactor of the code generation part of the TilingExtension and needed changes to PULPOpen and Snitch due to it
45
+
- PULPClusterTilingSB and PULPClusterTilingDB now allow for transfers of any rank (dimensionality)
46
+
- PULP's final output diff is now calculated as absolute error, instead of just subtraction
47
+
- common code generation code between testMVP/generateNetwork/... was extracted into a single `generateTestNetwork` function
48
+
- in some functions, instead of passing the name of a buffer, the actual buffer is just passed
49
+
- tile function allows overriding the optimizer with external tilingSolution and memoryMap
50
+
- refactor of the permutation functions for clarity
19
51
20
52
### Fixed
21
53
- Prevent node duplication for graphs generated via GraphSurgeon
22
54
- Resolved issue with missing `id` in the `Build Cache for Docker` step, used in the `Inject build-cache` step.
23
55
24
56
### Removed
25
57
- Delete outdated and unused `.gitlab-ci.yml` file
This release containing major architectural changes, new platform support, enhanced simulation workflows, floating-point kernel support, training infrastructure for CCT models, memory allocation strategies, and documentation improvements.
0 commit comments