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

[FEA]: Generalize autotuning to dynamically generated kernels

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python

調査の方向性

まず、issue で説明されているエントリーポイント exhaustive_search と _TimingCandidate の使用箇所を読み、次に、現在どのように設定からカーネル、グリッド、ヒント、引数が生成されているかを追跡します。各設定から生成されたカーネルと引数を exhaustive_search がサポートでき、既存の固定カーネルの動作と autotuning の候補を維持できれば、作業は完了です。

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

説明

feature request status: triaged
Is this a new feature, an improvement, or a change to existing functionality?

Improvement

How would you describe the priority of this feature request?

Low (would be nice)

Please provide a clear description of problem this feature solves

Currently, exhaustive_search takes a single fixed kernel and construct arguments from an arbitrary sequence of configurations. That it takes a fixed kernel makes it unusable in its current form if the config objects themselves generates the kernel.

Feature Description

I'm currently using cutile and metaprogramming to generate kernels, with much better success and less pain than other frameworks. However, I can't use exhaustive_search in its current form, but need to modify it to take kernel generating functions.

Describe your ideal solution

The proposal is essentially to change exhaustive_search, or add a separate case, where we generate the kernel candidate from a config, i.e:

    ... 
    for i, cfg in enumerate(search_space):
        if not quiet and isatty:
            progress(0, i, total, len(errors))
        grid = grid_fn(cfg)
        kernel = kernel_fn(cfg)
        hints = hints_fn(cfg) if hints_fn is not None else {}
        updated_kernel = kernel.replace_hints(**hints)
        candidate = _TimingCandidate(
            config=cfg,
            grid=grid,
            kernel=updated_kernel,
            get_args=lambda _cfg=cfg: args_fn(_cfg),
        )
     ...
Describe any alternatives you have considered

No response

Additional context

No response

Contributing Guidelines
  • I agree to follow cuTile Python's contributing guidelines
  • I have searched the open feature requests and have found no duplicates for this feature request
主要言語
Python
スター
2.2k
フォーク
155
PR マージ指標
30日以内にマージされた PR はありません

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

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

はじめの一歩

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

NVIDIA/cutile-python のほかの issue

NVIDIA/cutile-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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