Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Segfault in multithreaded code: NEO SIGSEGV handler race (intel/compute-runtime#1009)

オープン
#607 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
静か
技術スタック
julia
領域
hpc

調査の方向性

ThreadedBLASRepo.jl の reproducer から始め、提供されている Julia プロジェクト、--threads=4 コマンド、Aurora 環境を使って実行します。segfault を切り分けるため、oneAPI.device! と oneAPI.zeros の周辺にあるスレッド化されたループを追跡します。reproducer が segfault しなくなり、このケースに対する回帰テストのカバレッジまたは文書化された制限があれば完了です。

索引モデルが issue の本文から書いたものです。

説明

We are seeing a sefgault with some code on Aurora. Credit to @j-hayes . Let us know if more info is needed! It should be reproducible on Aurora.

Reproducer

Code

using oneAPI
using Base.Threads

function main()
    num_devices = 1
    p = 2
    W_matricies = Array{oneAPI.oneArray{Float64}}(undef, num_devices)
    println("starting"); flush(stdout)
    Threads.@threads for device_id in 1:num_devices
        oneAPI.device!(device_id)
        println("Current iteration: ", device_id)
        W_matricies[device_id] = oneAPI.zeros(Float64, p)
        println("done $device_id"); flush(stdout)
    end
    println("done"); flush(stdout)
end
main()

Run

julia --project=/lus/flare/projects/Julia/jacksonjhayes/JuliaChem.jl/aurora_env --threads=4 ThreadedBLASRepo.jl
主要言語
Julia
スター
217
フォーク
37
平均マージ
17時間 9分
マージ済み PR(30日)
28

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

JuliaGPU/oneAPI.jl のほかの issue

JuliaGPU/oneAPI.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。