評價此頁

自定義運算元#

建立時間:2025 年 7 月 28 日 | 最後更新時間:2025 年 7 月 28 日

摘要

  • 使用自定義運算元可以讓 torch.compile 將函式視為不透明。 torch.compile 永遠不會追蹤到函式內部,並且 Inductor(後端)將按原樣執行函式。

您可能希望在以下任何情況下使用自定義運算元:

  • 您的程式碼呼叫了某些 C/C++/CUDA 程式碼。Dynamo 是一個 Python 位元組碼直譯器,通常不知道如何處理呼叫繫結到 Python 的 C/C++/CUDA 函式。

  • Dynamo 和非嚴格追蹤在追蹤函式時遇到問題,而您希望 torch.compile 忽略該函式。

有關如何將 Python 函式包裝成 torch.compile 理解的自定義運算元的更多詳細資訊,請參閱 Python 自定義運算元教程

對於更高階的用例,您可能希望使用我們的 C++ 自定義運算元 API;有關更多資訊,請參閱 此處