我有一個使用GPU執行某些計算的程序。我可以讓程序使用命令行正確運行。但是當我嘗試通過PHP執行相同的聲明時,我遇到了麻煩。通過WAMP執行GPGPU程序
我正在使用wamp 2.0,並且我嘗試了exec和proc_open函數來試圖讓程序運行,但即使進程正確啓動,當涉及到GPU部分時,程序本身也會引發錯誤「Shader不支持你的硬件」。該程序最初還會檢測正在使用的圖形卡的種類,但這種情況也不會發生。
要說清楚,我還沒有編寫GPU程序。我可以直接從命令行運行相同的語句,但不能通過php。從php執行命令而不是直接執行命令有什麼不同?
我正在使用NVIDIA GT8600圖形卡。任何幫助都很好。
在使用glGetString(GL_VENDOR)檢查顯卡供應商的程序中,它獲得了微軟公司而不是NVIDIA。這是造成所有問題,但我仍然不知道爲什麼只有當我從PHP運行它時才這樣做。
我也試過從命令行單獨運行php腳本,在這種情況下,我的圖形卡被正確檢測到,一切正常,只有當我通過瀏覽器瀏覽器不工作。
這更可能是GPU程序的錯誤。您是否嘗試在PHP中設置工作目錄(執行時),與您在命令行中使用的目錄相同? – mauris 2010-07-16 03:28:52
是的,我做過,我也給了絕對的路徑,就像我說的,程序確實開始,但它只是無法運行GPU部件。它在GPU上執行檢查,並返回錯誤信息,說我無法支持着色器。 – Slartibartfast 2010-07-16 03:56:49
執行PHP代碼的用戶是否缺少正確的權限?我幾乎不瞭解Windows,但在Linux上,當用戶無法打開/ dev/nvidiactl時會發生這種情況。這裏有一些關於這種問題的信息: http://www.nvnews.net/vbulletin/showthread.php?t=89965 MIght是一個起點。 – 2010-07-17 18:27:22