JuliaGPU/CUDA.jl

Consider maximizing grid utilization

Open

#1,321 opened on 2022年1月13日

GitHub で見る
 (1 comment) (0 reactions) (0 assignees)Julia (274 forks)batch import
good first issueperformance

Repository metrics

Stars
 (1,408 stars)
PR merge metrics
 (平均マージ 5d 5h) (30d で 16 merged PRs)

説明

We currently maximize block utilization (taking the max threads), which may leave SMs underutilized. We should consider first selecting an optimal amount of blocks, before maximizing the thread could:

    config = launch_configuration(kernel.fun)
    threads = min(length(ps), config.threads)
    # XXX: this kernel performs much better with all blocks active
    blocks = max(cld(length(ps), threads), config.blocks)
    threads = cld(length(ps), blocks)

I'm sure this will lead to some kernels performing worse, though, but it's probably a good thing to test.

コントリビューターガイド