Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] New Backends: Metal and Lisp #42

Merged
merged 42 commits into from
Sep 2, 2024
Merged

Conversation

hikettei
Copy link
Owner

@hikettei hikettei commented Aug 28, 2024

  • Metal Codegen Backend
    • "It just works" is fine. we are not in the stage that we consider the performance.
    • TODO: BEAM Search for determining global_size/local_size
  • Lisp JIT
  • Some renderer simplification
  • Introduce Partial Schedule to eliminate (c0 == 0) and gemm-test
    • Introduce partial schedule and make schedule_whole_components working again
    • investigate why atomic wont work
  • 1 Kernel 1 Reduce Rule?

Changes

  • Symbolicが綺麗なコード吐けるようになったらstaticでunrollとかreduce accumとかやる
  • Fuse Conv < 2 kernels
    • NN Ops Test with accuracy
  • Reduce Accum
  • Simplifier: Fold Scalars
  • If (c0==0)をいい加減削除したい,SymbolicとStaticのコンパイル結果は一致するべき eliminate guards
  • threefry2x32 < two kernels
    • fused but wont work
  • dynamic shaped kernel compilation (which is the equivalent to a static shape system)
  • fix: matmul permute y
  • float accumlator
  • float4 unrolling
  • RaW/WaW depsがうまく読めてない箇所がいくつかある: (SERIALIZE=1でpassed)
    • !rand
      • !rand compilation requires 30s on M3 Pro due to the compilcated and largest kernel
    • view-backward (failing caseも動作した...)
    • etc

@hikettei
Copy link
Owner Author

currently ci fails due to dissect?

@hikettei hikettei marked this pull request as ready for review September 1, 2024 07:14
@hikettei hikettei merged commit 2c882fb into main Sep 2, 2024
2 checks passed
hikettei added a commit that referenced this pull request Sep 2, 2024
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