JuliaSIMD / JuliaSIMD/LoopVectorization.jl

`@turbo` slightly broken on 1.12

オープン
#540 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Julia
スター
789
フォーク
73
PR マージ指標
30日以内にマージされた PR はありません

説明

on nightly, the following code
```
using LoopVectorization
function f()
B = zeros(3)
@turbo B .+ 1
B
end
f()
```
produces
```
ERROR: LoadError: TypeError: in typeassert, expected Expr, got a value of type GlobalRef
Stacktrace:
[1] substitute_broadcast(q::Expr, mod::Symbol, inline::Bool, u₁::Int8, u₂::Int8, v::Int8, threads::Int64, warncheckarg::Int64, safe::Bool)
@ LoopVectorization ~/.julia/dev/LoopVectorization/src/constructors.jl:70
[2] turbo_macro(::Module, ::LineNumberNode, ::Expr)
@ LoopVectorization ~/.julia/dev/LoopVectorization/src/constructors.jl:295
[3] var"@turbo"(__source__::LineNumberNode, __module__::Module, args::Vararg{Any})
@ LoopVectorization ~/.julia/dev/LoopVectorization/src/constructors.jl:404
[4] include(mod::Module, _path::String)
@ Base ./Base.jl:300
[5] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:329
[6] _start()
@ Base ./client.jl:558
in expression starting at /home/oscardssmith/.julia/dev/LoopVectorization/test.jl:6
```
rather than working as expected. This seems to be a consequence of https://github.com/JuliaLang/julia/pull/56746

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、提供された @turbo の例を Julia nightly で再現し、次に src/constructors.jl の 70 行目付近にある substitute_broadcast と、295 行目および 404 行目付近のマクロパスを調査してください。例が正常に評価され、Julia pull request 56746 の後に導入された GlobalRef 型アサーションエラーを発生させなければ完了です。

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

評価

技術スタック
julia
領域
performance
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
45/100

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

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