Skip to content

Conversation

christiangnrd
Copy link
Member

@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
Member 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
Member 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