DeadlineExceeded failures in test_eye/test_linspace
まだ誰も着手していません。
評価
調査の方向性
記載された pytest コマンドを実行し、array_api_tests/test_creation_functions.py を調査して、test_eye と test_linspace に焦点を当てます。生成される次元サイズを追跡し、issue で提案されている最大サイズの制限を適用します。完了条件は、両方のテストが Hypothesis DeadlineExceeded による失敗なしで完了することです。
索引モデルが issue の本文から書いたものです。
説明
Running array-api-tests suite on dpctl.tensor (https://github.com/IntelPython/dpctl):
ONEAPI_DEVICE_SELECTOR=*:cpu ARRAY_API_TESTS_MODULE=dpctl.tensor python -m pytest array_api_tests/test_creation_functions.py
two test new failures consistently occur (after updating from f82c7bc8627cc2c3a44fa3e425f53a253a609aa8 to recent tip of main, i.e. 9d7777bc60d45a35124b0de084ff8edbd284c06b), e.g.:
FAILED array_api_tests/test_creation_functions.py::test_eye - hypothesis.errors.DeadlineExceeded: Test took 1470.80ms, which exceeds the deadline of 800.00ms
FAILED array_api_tests/test_creation_functions.py::test_linspace - hypothesis.errors.DeadlineExceeded: Test took 864.40ms, which exceeds the deadline of 800.00ms
Here is my understanding of what happens.
Hypothesis would generate a sufficiently large array, i.e. eye(47, 100) but testing of the output correctness is is done one element at the time (suboptimal usage for offloading libraries as it triggers 4700 submissions of small kernels) and this testing would take much longer than the creation of the array itself:
In [7]: import dpctl, dpctl.tensor as dpt
In [8]: %time eye_m = dpt.eye(47,100)
CPU times: user 3.23 ms, sys: 0 ns, total: 3.23 ms
Wall time: 2.76 ms
In [9]: %time all(eye_m[i, j] == (1 if i == j else 0) for i in range(eye_m.shape[0]) for j in range(eye_m.shape[1]))
CPU times: user 6.68 s, sys: 1.98 s, total: 8.67 s
Wall time: 2.09 s
Out[9]: True
The remedy would be to restrict the maximal dimension size.
- 主要言語
- Python
- スター
- 74
- フォーク
- 54
- 平均マージ
- 4時間 35分
- マージ済み PR(30日)
- 4
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
data-apis/array-api-tests のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 87/100
data-apis/array-api-tests#465 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
data-apis/array-api-tests#460 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
data-apis/array-api-tests#455 · コメント 2 件 ·
-
tracking
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
data-apis/array-api-tests#381 · コメント 9 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
data-apis/array-api-tests#379 · コメント 10 件 ·
data-apis/array-api-tests の issue をすべて見る
似ている issue
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-webui/open-webui#30750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 90/100