fish-speech 在50系列顯卡使用 --compile加速兼容

#環境說明

GPU: NVIDIA GeForce RTX 5080 Laptop GPU (sm_120)

win11家庭版 24H2

#問題匯總

baize.exceptions.HTTPException: (500, "'RuntimeError: `ptxas` failed with error code 4294967295: \\n\\n'")

問題匯總

1 baize.exceptions.HTTPException: (500, "'RuntimeError: `ptxas` failed with error code 4294967295: \\n\\n'")

說明:

PTX 匯編器)執行失敗,返回了錯誤代碼 4294967295

  • ptxas 是 NVIDIA CUDA 工具鏈中的 PTX (Parallel Thread Execution) 匯編器。當 CUDA 代碼(無論是直接寫的 .cu 文件還是通過 torch.compile 生成的)被編譯時,會先生成 PTX 代碼,然后 ptxas 將其匯編成二進制代碼(SASS)。
  • 錯誤代碼 4294967295 是一個很大的無符號整數,通常表示 -1(如果按有符號整數解釋)或者表示一個通用的、未指定的失敗。這通常意味著 ptxas 在執行過程中遇到了嚴重問題,可能是輸入的 PTX 代碼有嚴重錯誤,或者 ptxas 本身或其依賴項(如驅動)有問題。

baize.exceptions.HTTPException: (500, '"backend=\'inductor\' raised:\\nImportError: DLL load failed while importing libtriton: 找不到指定的模塊。\\n\\n\\nYou can suppress this exception and fall back to eager by setting:\\n import torch._dynamo\\n torch._dynamo.config.suppress_errors = True\\n"')

說明:

DLL load failed while importing libtriton: 找不到指定的模塊。

這個錯誤通常發生在 Windows 系統上,尤其是在使用某些版本的 PyTorch 或與 CUDA 相關的庫時。Triton 是 torch.compile(特別是使用 'inductor' 后端時)依賴的一個庫,用于代碼生成和優化。DLL 加載失敗意味著 Python 無法找到或加載 Triton 所需的某個動態鏈接庫文件。

這很可能是 PyTorch 的編譯優化功能與你的系統環境(特別是 CUDA/Triton 庫)不兼容導致的。

?

'sm_120' is not a recognized processor for this target (ignoring processor)

ptxas fatal : Value 'sm_120' is not defined for option 'gpu-name'

說明:

在編譯 CUDA 代碼時,編譯器遇到了一個它不識別或不支持的 GPU 架構目標 sm_120

  1. ptxas fatal : Value 'sm_120' is not a recognized processor for this target (ignoring processor): 這是致命錯誤,導致編譯過程失敗。ptxas 是 PTX (Parallel Thread Execution) 匯編器,它明確指出 sm_120 不是一個有效的 GPU 架構名稱。
  2. sm_120 是什么?: sm_XX 是 NVIDIA 用來標識其 GPU 架構代號的命名方式(Streaming Multiprocessor)。例如:
  • sm_50: Maxwell
  • sm_60, sm_61, sm_62: Pascal
  • sm_70, sm_75: Volta
  • sm_80, sm_86, sm_89: Ampere
  • sm_90, sm_90a: Hopper
  • sm_89: Ada Lovelace (用于消費級 RTX 40 系列)

說明:

PyTorch 或 CUDA 工具鏈 的 編譯錯誤

?

baize.exceptions.HTTPException: (500, '"FileNotFoundError: [Errno 2] No such file or directory: \'C:\\\\\\\\Users\\\\\\\\87753\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\torchinductor_87753\\\\\\\\triton\\\\\\\\0\\\\\\\\QAVTUZC727AGUBQDWKDTRPI2HVHXXOE4SLZEB75DZ42XLWID4WLA\\\\\\\\tmp.pid_17188_7d16f0a2-f024-44fd-a2e2-4735300a49fb\\\\\\\\triton_red_fused__softmax__to_copy_argmax_clamp_div_exponential_index_put_lift_fresh_masked_fill_sub_44.ttir\'\\n"')

說明:

  1. Windows 長路徑限制:
    • Windows 對文件路徑長度有限制(傳統上限是 260 個字符)。雖然現代 Windows 和 Python 通常能處理長路徑,但如果某些組件或設置未正確配置,極長的路徑(如此錯誤中的路徑)仍可能引發問題。

?

# 錯誤總結:

1 編譯錯誤:( cuda架構與pytorch版本不兼容 , cuda編譯環境不兼容 )

2 window路徑長度限制

# 解決方式

?

配置正確的python環境

目前支持50系列的nvidia的pytorch版本為 2.7.1 參考官網信息

windows環境下:

python >= 3.10

cuda tool 需要 12.8

pytorch torchaudio == 2.7.1+cu128

torch-complex == 0.4.4

xformers == 0.0.30

特別包 官方只支持liunx ,windows需要手動:

flash_attn == 2.7.4.post1 ->https://github.com/kingbri1/flash-attention/releases

triton-windows == 3.3.1.post19 -> https://github.com/woct0rdho/triton-windows/release ( 2025年五月份補丁支持了s_120架構 并上傳了pipy)

特別注意: triton 和 triton-windows 是同一技術的不同版本;

triton 官方僅支持liunx , windows 版本由開源社區維護 triton-windows , 類似(triton-3.0.0-cp311-cp311-win_amd64.whl) 都是liunx版本在windows跳過編譯錯誤打包成的, 實際無效, 且不要在pip環境同時存在這倆;

配置正確的C++環境?

2.1 安裝visual studio2022 ,選擇 windows桌面開發 , 重點勾選:

配置編譯環境變量?

默認visual studio2022安裝路徑在:

C:\Program Files\Microsoft Visual Studio\2022\Community

windows sdk :

C:\Program Files (x86)\Windows Kits\10

參考我的配置:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64


C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\x64

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared

?CMD 命令行輸入: cl ,輸出 Microsoft (R) C/C++ Optimizing Compiler ... 即可

安裝正確的cuda tool工具鏈 ( nvidia官網下載 )

默認環境路徑配置會在安裝時自動設置( 如果沒有請手動設置 )

出現下面即可

修改windows系統限制?

Win + R,輸入 gpedit.msc

計算機配置 -> 管理模板 -> 系統 -> 文件系統

  • 找到策略:啟用 Win32 長路徑
  • 將其設置為 已啟用
  • 更改后需要重啟才能完全生效。

windows11家庭版開啟gpedit.msc的方法:

新建?gpedit.bat?

編輯:

@echo off
pushd "%~dp0"
dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txt
dir /b %systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>gp.txt
for /f %%i in ('findstr /i . gp.txt 2^>nul') do dism /online /norestart /add-package:"%systemroot%\servicing\Packages\%%i"
pause

以管理員身份運行!

其他操作:

確保以上所有動作都正確, 清理或刪除原編譯生產的緩存文件夾:

C:\Users\87753\AppData\Local\Temp\torchinductor_* ( 87753 是我的電腦管理員賬號名 )

清理之前的 triton 包殘留:

pip uninstall triton triton-windows

pip install --force-reinstall --no-deps triton-windows==3.3.1.post19

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92896.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92896.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92896.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UI自動化測試實戰

Python接口自動化測試零基礎入門到精通(2025最新版)一、設計背景 隨著IT行業的發展,產品愈漸復雜,web端業務及流程更加繁瑣,目前UI測試僅是針對單一頁面,操作量大。為了滿足多頁面功能及流程的需求及節省工…

面試實戰,問題六,被問數據庫索引,怎么回答

Java開發面試:數據庫索引的原理及常見問題解答 在Java開發面試中,數據庫索引是核心知識點,涉及數據庫優化和性能調優。索引通過高效的數據結構加速數據檢索,降低磁盤IO成本,并支持排序操作。下面我將逐步解釋索引的原理…

ARM-I2C硬實現

硬件I2C-GD32F4系列的實現初始化操作在初始化函數里執行以下代碼uint32_t i2cx_scl_port_rcu RCU_GPIOB; uint32_t i2cx_scl_port GPIOB; uint32_t i2cx_scl_pin GPIO_PIN_6; uint32_t i2cx_scl_af GPIO_AF_4;uint32_t i2cx_sda_port_rcu RCU_GPIOB; uint32_t i2cx_sda_po…

WinUI3開發_過渡動畫

簡介 過渡動畫是當發生事件時控件UI狀態發生改變時以一種動畫形式來演變到另外一種狀態,而非瞬間改變,使用一種更加平滑的方式來進行切換,例如下圖是文字切換的交叉柵欄效果:還有頁面切換動畫:在或者是圖標動畫&#x…

Linux下提權root權限

現在AI工具這么豐富,稍微搜一下就有一個差不多的總結輸出。但是,可能還不夠詳細,或者給得太多~~~今天時間關系,今天只總結了在Linux如何提權到root,并沒有寫如何進行防護。后面有時間,我再總結一下。命令實…

焊接機器人節能先鋒

汽車制造業中,機器人技術的應用已成為推動工業自動化和生產效率提升的重要力量。機器人在焊接、組裝、涂裝等關鍵制造環節中扮演著不可或缺的角色。隨著工業生產規模的不斷擴大,能源消耗和成本控制成為了企業必須面對的重大挑戰。尤其是工業焊接用氣的大…

MinIO:云原生對象存儲的終極指南

MinIO 是什么? MinIO 是一款高性能、云原生的對象存儲服務,具有以下優勢: 輕量級部署:采用 Go 語言編寫,資源占用低,支持快速部署 兼容性強:完全兼容 Amazon S3 API,輕松對接現有應用 高可用架構:支持分布式部署,確保數據持久性和服務可用性 高性能表現:專為云環境…

Spring AOP `MethodInvocation` 工作原理

?? 一、通知到 MethodInterceptor 的轉換機制 Spring AOP 通過適配器模式將開發者定義的注解型通知(如 Before)統一轉換為 MethodInterceptor 接口實現,確保所有通知類型能接入同一調用鏈。以下是轉換細節: 1. 適配器實現原理 核…

PPO原論文閱讀

一、Introduction1.目前存在的問題:(deep)Q-learning:在一些簡單問題上表現不佳,可理解性差基礎的policy gradient算法:(如REINFORCE)魯棒性差,需要大量數據TRPO:復雜,在包含噪音&am…

零基礎也能創作專屬歌曲:文心一言+蘑兔AI協同教程

在AI技術飛速發展的今天,音樂創作已不再是專業音樂人的專屬領域。通過文心一言與蘑兔AI的協同使用,即使沒有音樂基礎,也能輕松完成從歌詞創作到作曲編曲的全流程。本文將詳細拆解操作步驟,助你快速上手,實現音樂創作夢…

圖論:搜索問題

提到圖論中的搜索問題,首先想到的也就是DFS和BFS了,而提到這兩種搜索,那么最典型的題目就是島嶼問題了,下面就練習幾道相關的題目,為之后的更深奧的圖論學習打下基礎! 孤島的總面積 題目鏈接:…

AI驅動攻防升級,API安全走到關鍵檔口

在數字化轉型與AI技術快速發展的雙重驅動下,API已成為企業業務與外部世界連接的神經中樞。然而,隨著API的深度應用,針對API的攻擊規模與復雜性也在持續升級。 API為何頻頻成為黑客重點盯防的突破口?企業常見的API防護手段是否還能…

網絡基礎DAY18-動態路由協議基礎

動態路由協議基礎知識回顧:1.什么是路由? 答:是三層設備轉發IP報文的路徑信息。 2.路由有哪些來源? 答:1.直連路由2.靜態路由3.動態路由 3.有直連路由的條件? 答:1.二層和三層物理接口狀態為UP …

axios統一封裝規范管理

新建/api/ 1.新建統一處理文件/api/axios.ts import axios from "axios"const http axios.create({baseURL: import.meta.env.VITE_API_BASE_URL, // 從環境變量讀取timeout: 10000, });// 請求攔截器(如添加 Token) http.interceptors.reque…

Java學習第七十四部分——Elasticsearch(ES)

目錄 一、前言提要 二、核心特性 三、應用場景 四、主要優勢 五、集成方式 六、基礎操作 七、高級特性 八、概念類比——與關系型數據庫 九、簡單示例——實現存儲與搜索 十、生態集成——基于Spring Data Elasticsearch 十一、性能優化建議 十二、總結歸納概述 一…

TDengine 轉化函數 TO_UNIXTIMESTAMP 用戶手冊

TDengine TO_UNIXTIMESTAMP 函數用戶使用手冊 函數概述 TO_UNIXTIMESTAMP 是 TDengine 中的標量函數,用于將符合 ISO8601/RFC3339 標準的日期時間字符串轉換為 Unix 時間戳。與 TO_TIMESTAMP 不同,該函數專門處理標準格式的時間字符串,無需指…

Java 中的排序算法詳解

目錄 一、冒泡排序(Bubble Sort) 原理? 二、選擇排序(Selection Sort) 原理? 三、插入排序(Insertion Sort) 原理? 四、快速排序(Quick Sort) 原理? 五、歸并排序&…

Gitee如何成為國內企業DevOps轉型的首選平臺?

Gitee如何成為國內企業DevOps轉型的首選平臺? 在數字化轉型浪潮中,DevOps已成為提升企業研發效能的關鍵引擎。作為國內領先的代碼托管與協作平臺,Gitee憑借本土化優勢與全流程支持能力,正成為越來越多企業DevOps實踐的核心載體。本…

?Excel——SUMPRODUCT 函數

SUMPRODUCT 是 Excel 中最強大的函數之一,可以用于 ?多條件求和、加權計算、數組運算? 等復雜場景。下面通過 ?基礎語法 實用案例? 徹底講透它的用法!?一、基礎語法?SUMPRODUCT(數組1, [數組2], [數組3], ...)?功能?:將多個數組的對…

告別虛函數性能焦慮:深入剖析C++多態的現代設計模式

?? 引言:當多態遇上性能瓶頸 我經常被問到這樣一個問題:“既然virtual函數這么方便,為什么在一些高性能場景下,大家卻避之不及?” 答案很簡單:性能。 在我參與的多個HPC項目和游戲引擎開發中,virtual函數調用往往成為性能分析工具中最顯眼的那個紅點。一個看似無害…