Windows 10 上的 Linux 子系統,能否使用 NVIDIA CUDA 加速?

最近在搞基於Caffe的深度學習應用,突然想起Windows 10之前發布了個Ubuntu的子系統。

假如是普通的虛擬機中安裝Caffe,那麼Caffe就只能工作在CPU模式了。但是Win10子系統似乎並不是這樣的虛擬機。

所以有些好奇,在這個子系統中,能否使用GPU來進行應用程序的加速,比如Caffe所支持的CUDA平台?

發現很多人真的是答非所問,我只是問它實現的可能性,並沒有說自己是打算用這個呀……


不能。因為我給他們寫的顯卡驅動沒包含CUDA。

Caffe也可以Windows上跑啊。

GitHub - niuzhiheng/caffe: Caffe

再說,你可以用比Caffe更好的CNTK啊。

GitHub - Microsoft/CNTK: Microsoft Cognitive Toolkit (CNTK)


Windows上也能用CUDA啊,為什麼要多此一舉


題主可以自己搞個二進位兼容的cuda lib,所有調用ipc到win32。同理還可以通過這種方式搞出各種lxss內因需要直接訪問硬體而沒法實現的庫。

但是工作量。。。

為毛要二進位兼容的cuda庫?什麼叫直接訪問硬體?難道粗大庫里提供的API是內核模式下的?

任何user mode的API都是可以橋接起來的,無論是同進程的還是跨進程的。也就是說既然windows上的Linux sub-system是user mode的東西,那麼完全可以不通過硬體驅動,直接把host系統上的API橋接到子系統上。比如把粗大庫里的API直接包一層給Linux sub-system用,類似cygwin那種方式。

至於你說的工作量的問題么,任何體力活其實都可以由程序自動完成的。

但是,但是,但是(重要的但是說三遍),在windows上的Linux sub-system開發linux的應用,那麼多麼多麼爛的想法啊,比那些在mac電腦上裝win OS的要low若干檔次。


更新

謝謝 @Comzyh 提供連接 OpenCL CUDA GPU support,大家可以上去投票,讓微軟添加這個功能,望大神 @叛逆者 考慮下群眾需求。

雖然windows 10可以跑CUDA, Caffe,但是好多deep learning cutting edge algorithm還是在linux下開發的,比如去年搞出來的FCN as RNN (GitHub - torrvision/crfasrnn: This repository contains the source code for the semantic image segmentation method described in the ICCV 2015 paper: Conditional Random Fields as Recurrent Neural Networks. http://crfasrnn.torr.vision/),其作者目前只在Linux 下的caffe加上了這個feature,但是Windows10下面的caffe沒有,想移植到windows 10上還需要做其他工作,我自己嘗試搞過,沒弄成功,其他知友大神要是成功把它弄到Windows上了,請分享下你的經驗或者私信我。

所以能讓windows 10下的Linux擁有更多Linux原生態的功能還是很重要的。

以下為原回答

目前不能,不過這個feature 是在微軟的feature demand voting的網站上屬於被強烈要求在以後windows 10更新中要添加的功能,想找到這個微軟的feature demand voting鏈接放在,卻怎麼也找不到了,卻找到了介紹這個網站的一個連接Want New Windows Features? Share Your Ideas With Microsoft Vote


借個樓,怎麼判斷Windows已經安裝好CUDA了?我之後去安裝CuPy的時候,顯示Exception: Your CUDA environment is invalid. Please check above error log.


我在剛出來的時候試過,裝不上去。也沒找到裝上的例子,不知道現在有沒有大牛搞出來。


前幾天剛剛試過,感覺與其折騰 wsl 還不如直接在 windows 上跑 caffe -_-|| 在 wsl 上編譯依賴支持比 windows 煩多了


caffe在windows下用的好好的,當然win bash要支持CUDA還是很難的。


只在windows上用過cuda,linux上還沒用過。。


題主可以自己搞個二進位兼容的cuda lib,所有調用ipc到win32。同理還可以通過這種方式搞出各種lxss內因需要直接訪問硬體而沒法實現的庫。

但是工作量。。。


推薦閱讀:

win10的離線密碼忘了,沒聯網還不讓進了,怎麼辦?
筆記本升級WIN10後,WLAN一直正在識別,診斷後顯示WLAN沒有有效的IP配置?
win10為什麼不能一鍵關機?
現在win10的電腦用不用裝殺毒軟體?
win10系統不能進入bios?

TAG:NVIDIA英偉達 | CUDA | GPU | Windows10 |