У меня есть программа, которая использует GPU для выполнения определенных вычислений. Я могу заставить программу работать правильно, используя командную строку. Но когда я пытаюсь выполнить тот же оператор через PHP, я столкнулся с проблемой.Выполнение программы GPGPU через WAMP
Я использую wamp 2.0, и я попробовал функции exec и proc_open, чтобы попытаться запустить программу, но даже если процесс запускается правильно, когда дело доходит до части GPU, сама программа поднимает ошибка «Шейдер не поддерживается вашим оборудованием». Программа также первоначально определяет тип используемой видеокарты, но это также не происходит.
Чтобы быть ясным, я не написал программу GPU. И я могу запустить тот же оператор непосредственно из командной строки, но не через php. В чем разница в выполнении команды от php, а не непосредственно?
Я использую графическую карту NVIDIA GT8600. Любая помощь вообще была бы замечательной.
В программе, когда он проверяет наличие поставщика видеокарты с использованием glGetString (GL_VENDOR), вместо Microsoft NVIDIA появляется корпорация Microsoft. Это вызывает все проблемы, хотя я до сих пор не знаю, почему это делается только тогда, когда я запускаю его из php.
Я также попытался запустить скрипт php отдельно от командной строки, и в этом случае моя графическая карта обнаружена правильно, и все работает нормально, только когда я просматриваю свой браузер, это не сработает.
Это скорее ошибка в программе GPU. Вы пытались установить рабочий каталог на PHP (при выполнении) как тот, который вы использовали в командной строке? – mauris
Да, я тоже, я также дал абсолютные пути везде, и, как я уже сказал, программа действительно начинается, но ее просто не удается запустить части GPU. Он выполняет проверку на графическом процессоре и возвращается с ошибкой, говоря, что я не могу поддерживать шейдер. – Slartibartfast
Возможно ли, что пользователю, выполняющему PHP-код, не хватает правильных разрешений? Я почти ничего не знаю о Windows, но в Linux это происходит, когда ваш пользователь не может открыть/dev/nvidiactl. Здесь есть информация об этом виде: http://www.nvnews.net/vbulletin/showthread.php?t=89965 Незначительная отправная точка. –