Skip to content

v0.3.0 - #182

Draft
ejmeitz wants to merge 34 commits into
mainfrom
develop
Draft

v0.3.0#182
ejmeitz wants to merge 34 commits into
mainfrom
develop

Conversation

@ejmeitz

@ejmeitz ejmeitz commented Aug 14, 2026

Copy link
Copy Markdown
Member

Features:

  • Random number generation for all relevant types (rand, randn, randexp etc.)
  • Support LinearAlgebra.Diagonal
  • NDArray <: AbstractArray
  • Support argmin, argmax, var, std, mean
  • Turns on more unary ops (i.e. <<)
  • More linalg ops (i.e., eigen)
  • New @accelerate macro which does escape analysis and multi-line broadcast fusion
  • FFT/iFFT
  • sort, sort!, searchsortedfirst, searcsortedlast
  • Support tensor contractions and the TensorOperations.jl @tensor macro
  • Revamp benchmark suite to have less hyperparemeters
  • Bug fixes when array shape is > 2^31 (int32 overflow)
  • cuSolverMp support
  • mapreduce

TODO:

  • Deploy new cunumeric_wrapper_jll (26.6.1)
  • Update compat in Project.toml for cunumeric_wrapper_jll
  • Update VERSION file inside lib/cunumeric_wrapper_jll
  • Update cuNumeric.jl version in Project.toml

ejmeitz and others added 20 commits August 14, 2026 14:18
* Supports random number generation for all relevant types. Includes uniform, normal and exponential random numbers.

---------

Co-authored-by: David Krasowska <krasowska89@gmail.com>
* Add Diagonal / UniformScaling support for NDArray

* NDArray <: AbstractArray now
* support more unary/binary ops

---------

Co-authored-by: krasow <krasow@u.northwestern.edu>
* support var, std, argmin, argmax

---------

Co-authored-by: David Krasowska <krasowska89@gmail.com>
* Add cholesky and eigen, split out batched linalg
* Add GPU fft/ifft/fft!/ifft! and batched FFT on NDArray
* Add pairwise tensor contract with mode labels.

Wrap cupynumeric's binary contract kernel and the helpers it needs so a later TensorOperations backend can map Index2Tuple onto contract! without einsum strings.
* sort, sort!, searchsorted

---------

Co-authored-by: krasow <krasow@u.northwestern.edu>
Co-authored-by: David Krasowska <krasowska89@gmail.com>
Match Julia array equality (including mixed dtypes and shape mismatch) without falling back to cupynumeric's length-1 1-d array_equal result.
@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

ejmeitz and others added 9 commits August 31, 2026 11:34
* tensor oeprations extension

* force tensors which reduce to scalars to hit scalar indexing
* revamp benchmark suite

* automate selection of N

* fix bug in 0D benchmark correctness, add more logging

* int overflow bug

* add execution fences on certain benchmarks
* Enable distributed cuSolverMp solve and factorization paths
[container] [skip dev] [skip jll]
ejmeitz and others added 5 commits September 17, 2026 21:45
* mapreduce
* ci: update matrix to include Julia 1.13
* fix deprecated enum CxxWrap syntax in wrapper
* bump wrapper ver

---------

Co-authored-by: Ethan Meitz <54505069+ejmeitz@users.noreply.github.com>
Co-authored-by: ejmeitz <emeitz@andrew.cmu.edu>
* benchmark harness changes [skip ci]

* format: run all files

* instantiate project script with model smoketest

* smoke test for montecarlo now checks correctness for all models if correctness is enabled

* reduce verbose output and provide progress meter for all models

* update benchmarks_smoke.toml [skip ci]

* montecarlo: default accelerate macro

* montecarlo: Dagger.jl

* montecarlo: map reduce cuda.jl

* benchmarks: add gemm support for Dagger and JACC

* benchmark: local options need to override global

* benchmarks/cleanup: remove dead code

* benchmarks: JACC and dagger grayscott

* benchmarks: provide seperate .toml to run different forms of accelerate on grayscott

* grayscott: add correctness checks

* grayscott: default is accelerate

* grayscott: simplfy materialization

* fix rebase conflicts [container] [benchmark-container]

* CG + kwarg support (#198)

* CG + kwarg support

* add accelerated variant

* benchmarks: cg port to Dagger and Python. Change default behaviour of CG on cuNumeric

* benchmarks: update Dagger CG to reduce runtime overheads

---------

Co-authored-by: krasow <krasow@u.northwestern.edu>

* fake change to trigger [container]

* benchmarks: JACC needs to set backend for CUDA [skip ci]

* benchmarks: fix auto-size conservativeness

* Benchmark Container CI (#199)

[container] [benchmark container]

* benchmarks: JACC CG updates. reduce copies

* benchmarks: Dagger grayscott init fixes

* benchmarks: Dagger CG update to support multi partitions for multi-gpu scaling. [benchmark container]

* Trigger benchmark image [benchmark-container]

* benchmarks: NAS FT [benchmark-container]

* benchmarks: NAS/EP ported

* benchmarks: montecarlo uses map_reduce; original impl is left as a comparison to see effect of map_reduce

* benchmarks: NAS/FT patches

* benchmarks: NAS/MG init port

* benchmarks: codex audit on fairness

* move benchmarking harness to seperate repo

---------

Co-authored-by: Ethan Meitz <54505069+ejmeitz@users.noreply.github.com>
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.

3 participants