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

Add benchmarking CI #419

Closed
wants to merge 11 commits into from
Closed

Conversation

christiangnrd
Copy link
Contributor

@christiangnrd christiangnrd commented Sep 17, 2024

Copying over the benchmarks from CUDA.jl.

I'm not sure if I converted them properly. Some function seem to be missing Metal implementations (like reverse).

The final (and biggest) problem is how inconsistent these results have been. Simply rerunning the benchmarks on the same code gives some huge performance differences. There is always at least one benchmark that is >20% slower or faster.

See #418 (comment)

Todo:

  • Implement actual CI benchmark solution from GemmKernels.jl
  • Ensure Benchmarks are correct

@maleadt
Copy link
Member

maleadt commented Sep 17, 2024

Do we need another codespeed instance for this? https://speed.juliagpu.org/ is only for CUDA.jl right now. I wonder if there isn't a better solution nowadays; other projects seem to be tackling this slightly differently:

[only benchmarks]
[skip docs]
[only benchmarks]
[skip docs]
[only benchmarks]
[skip docs]
@christiangnrd
Copy link
Contributor Author

I think the GemmKernels.jl solution would be the best fit since these cannot be run with Github Actions. I'll finish this up when I get more time.

@christiangnrd christiangnrd marked this pull request as draft September 18, 2024 01:12
@christiangnrd christiangnrd marked this pull request as draft September 18, 2024 01:12
@christiangnrd christiangnrd marked this pull request as draft September 18, 2024 01:12
@christiangnrd christiangnrd marked this pull request as draft September 18, 2024 01:12
@christiangnrd christiangnrd self-assigned this Sep 18, 2024
@maleadt
Copy link
Member

maleadt commented Sep 18, 2024

I think the GemmKernels.jl solution would be the best fit since these cannot be run with Github Actions.

The LuxDL.jl approach also runs on Buildkite: JuliaGPU/KernelAbstractions.jl#510 (comment)

@christiangnrd christiangnrd force-pushed the benchmark branch 2 times, most recently from e087748 to 5251b6c Compare September 18, 2024 15:17
[only benchmarks]
[only benchmarks]
[only benchmarks]
@christiangnrd christiangnrd mentioned this pull request Sep 18, 2024
2 tasks
@christiangnrd
Copy link
Contributor Author

Moved over to #420 with a JuliaGPU branch in an attempt to figure out why it stopped working. Will continue development on that branch. Sorry for the noise.

@christiangnrd christiangnrd deleted the benchmark branch September 18, 2024 16:05
@christiangnrd christiangnrd removed their assignment Sep 18, 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.

2 participants