`ConcurrentWrites` predicates not using grid-stride
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- julia
- 領域
- performance
調査の方向性
Start by locating the ConcurrentWrites predicates and the large Metal tests mentioned in the issue; compare their launch behavior with algorithms that already use grid-stride processing. The issue gives an all(==(0), A) reproducer using a Metal array near the UInt32 element limit. Done when these predicates handle arrays beyond the grid-size limit on affected backends and the large-array case passes.
索引モデルが issue の本文から書いたものです。
説明
This limits arrays to a max of 2^32-1 elements on backends that have a grid-size limit like ROCM and Metal. Found because the large Metal tests were failing locally (they use too much ram for the CI runners)
MWE on a metal main branch:
using Metal
const AK = Metal.GPUArrays.AK
n = Int(typemax(UInt32)) - 2
A = MtlArray{Int8}(undef, n)
Metal.unsafe_fill!(device(A), pointer(A), Int8(0), n; async=false)
all(==(0), A) # also AK.all(==(0), A)
There are a few more algorithms that don't do grid-stride but some of these process multiple elements per work-item so the limit is pushed back even more.
- 主要言語
- Julia
- スター
- 204
- フォーク
- 20
- 平均マージ
- 2日 19時間
- マージ済み PR(30日)
- 41
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaGPU/AcceleratedKernels.jl のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
JuliaGPU/AcceleratedKernels.jl#89 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 1〜2日 初心者へのやさしさ 48/100
JuliaGPU/AcceleratedKernels.jl#201 ·
メンテナーはふだん 1 日以内に返信
-
Inference of reductions with a non-concrete `alg` recurses through GPUArrays 12 and never finishesオープン
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
JuliaGPU/AcceleratedKernels.jl#161 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
JuliaGPU/AcceleratedKernels.jl#159 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
JuliaGPU/AcceleratedKernels.jl#150 ·
メンテナーはふだん 1 日以内に返信
JuliaGPU/AcceleratedKernels.jl の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
MagneticResonanceImaging/MRIReco.jl#366 ·
メンテナーはふだん 3 日以内に返信
-
`AdamW` gives `NaN` for zero-gradient entries of `Float16` parameters (epsilon underflows to 0)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
FluxML/Optimisers.jl#253 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
JuliaGraphs/GraphNeuralNetworks.jl#736 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
`poissonians` is not public, unlike `brownians` and `jumps`対応中かも @isaacsas が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
SciML/ModelingToolkit.jl#5389 ·
メンテナーはふだん 2 日以内に返信