Skip to content

Conversation

@JeremyMorlier
Copy link

Added and Modified features to make stream capable of evaluating training workloads:

New Workloads :

  • Resnet18 with full fine-tuning, Cross Entropy Loss (not considered because of Rtree creation fails over 1D accumulation #78) and ADAM optimizer
  • Resnet18 with LoRa, Cross Entropy Loss and ADAM optimizer
  • Decoder-like LLM with full fine-tuning, Cross Entropy Loss and ADAM optimizer

Nodes:

  • Gemm: added transpose attribute (as done in ZigZag)
  • FusedMatMul
  • ConvTranspose
  • ReduceSum
  • SoftmaxCrossEntropyGrad

Dependency Propagation:

  • Squeeze
  • Unsqueeze
  • Pad
  • Gather: Generalized to search the indices among the ONNX graph initializers and to more axis
  • Reshape: Generalized to adding/removing more than one axis
  • Concat: Generalized for both non constant inputs
  • Split : Search the split index in the initializers and inputs

Tiled Workload Generation

  • Replaced the compute_shortest_path with custom BFS as it selected paths that contain computation nodes

- ConvTranspose
- InPlaceAccumulator
- SoftmaxCrossEntropy
- SoftmaxCrossEntropyGrad
- ReduceSum
Modifications:
- Changed Reshape for Convolution to apply to TransposedConvolution
- AveragePoolGrad: similar to a ConvTranspose Parser
- ReluGrad: modified SIMDParser
- ReduceSum: Reimplementation using directly the equation (could be used to implement reduce1DParser)
- Pad Parser

Fix GemmTranspose Operator
Modified Gather (and Pad) Parser to catch initializer and not only constants inputs

Parallelization strategies for the new operators
…e wrong path by a BFS that return path without computation node
Generalization of Gather and Reshape relevant_axes
-  ConvGrad: not directly usable in Stream
-  SoftmaxCrossEntropyLoss : breaks Stream KULeuven-MICAS#78
Added Operators
-  FusedMatMul
-  Squeeze
-  Unsqueeze
Modified Operators :
-  Concat Operator : Allowed for both non constants inputs (0 are concat into the tensor)
Ruff checked all files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant