В эти выходные я купил новый ноутбук и начал устанавливать все свое программное обеспечение для разработки. Я использую:
- Windows 8
- Драйвер nVIDIA GeForce 306.97
- Microsoft Visual Studio 2010, 10.0.3
- nVIDIA Parallel NSight 2.2.0.12313 (+ CUDA Toolkit 4.2)
- Microsoft DirectX SDK, июнь 2010 г.
- nVIDIA DirectX 11 SDK
- nVIDIA DirectX 10 SDK
Проблема началась, когда я попытался использовать отладчик шейдеров. Я тестировал большинство примеров Microsoft для DirectX 10 и 11, и они вылетали до того, как на экране появилось какое-либо окно, то же самое произошло с nVIDIA. Журнал Windows сообщает об этом (извините, это на португальском):
Nome do aplicativo com falha: HDAO10.1.exe, versão: 0.0.0.0, carimbo de data/hora: 0x50c75043
Nome do módulo com falha: Nvda.Graphics.Interception.100.dll, versão: 0.0.0.0, carimbo de data/hora: 0x509c20dc
Código de exceção: 0xc0000005
Deslocamento da falha: 0x006eb3f0
Сначала я не подозревал Optimus, потому что примеры нормально работают в отладчике Visual Studio и даже показывают «GeForce GTX 660M» в качестве графического адаптера. Я также запустил сеанс отладки CUDA в имеющейся у меня программе cuBLAS, и все прошло нормально, я профилировал программу с помощью NSight Analysis, и тоже без проблем, все возможные статистические данные, доступные для архитектуры GK, были там.
Интересная часть проблемы возникла, когда я попытался запустить пример DirectX 9, хотя он работал, NSight Monitor обвинял следующее: «Не все функции NSight поддерживаются на графических процессорах, отличных от NVIDIA», что наводит меня на мысль, что это связано с к встроенному графическому процессору. Проблема в том, что в примере с DirectX 9, как и раньше, в качестве графического адаптера четко показана «GeForce GTX 660M».
Я видел похожие темы на форумах NVidia и здесь, но они не решены и заброшены. Я действительно не знаю точно источник проблемы, связано ли это с Оптимусом или Windows 8, так как я не могу найти какое-либо окончательное обсуждение этой темы. Я хотел бы знать, придумал ли кто-нибудь решение или, по крайней мере, объяснение этой проблемы.
Спасибо.