none
C++ AMP выдает ошибку при построении программы с сайта microsoft. RRS feed

  • Вопрос

  • Microsoft заявили, что в Visual Studio 11 будет поддержка C++ AMP. Я установил лицензионку, все как бы хорошо. C++ и т.п. пашет. Все, вроде, красиво. Попробовал распараллелить ЦП с помощью OpenMP. Все замечательно работает.  

    Но, когда дошло дело до C++ AMP, появилась проблема. Почему-то выдается ошибка "C1451: Не удалось создать отладочную информацию при компиляции графа вызовов concurrency::parallel_for_each". Головной файл (amp.h) прочитался.

    Примеры решений брал с сайта Microsoft "http://msdn.microsoft.com/ru-ru/library/hh873134.aspx". Очень подозрительно, что на официальном сайте ничего не говорится про это в описании примеров. 

    Я начинающий в C++ и уж не знаю что делать, а программа нужна. Уже все дрова по OpenCL установил. ) Может, что с железом не так? Подскажите где посмотреть что это за ошибка. Или головной файл не в порядке? 

    Windows 8 x64, Visual Studio Premium 2012 (11.0.50727.1), ЦП: i5-3570k, GPU: Radeon 7900 series
    • Изменено Terobit 26 января 2013 г. 9:44
    26 января 2013 г. 9:25

Ответы

  • Здравствуйте. Я решил эту проблему, установив Visual Studio 11 Ultimate x64. Видимо, 32 битная версия не верно производит построение проекта на 64 битной ОС или что-то иное. Но, самое главное, что эта проблема решилась.
    • Изменено Terobit 30 января 2013 г. 15:03
    • Помечено в качестве ответа Abolmasov Dmitry 1 февраля 2013 г. 7:22
    30 января 2013 г. 15:03

Все ответы

  • У вас ноутбук? Вероятно, это какой то баг Visual Studio. Я скомпилировал умножение матриц у друга на компе (ГПУ и ЦПУ варианты). Экзешники запускаются у меня на ноуте и по времени исполнения очевидно, что видеокарта прекрасно все считает, но вот непосредственно на ноуте я не могу собрать проект изза этой ошибки. Сейчас пишу на msdn англоязычный, надеюсь там как нить помогут.
    27 января 2013 г. 11:08
  • Ну, я же написал: Windows 8 x64, Visual Studio Premium 2012 (11.0.50727.1), ЦП: i5-3570k, GPU: Radeon 7900 series. Ну, какой ноутбук. ) Какая у вас видеокарта? Если у вас запускается хоть как, то опишите какая система установлена на Стационарном, а какая на Ноутбуке. По подробнее пожалуйста. Будем разбираться методом исключения. Надеюсь на следующий контакт. Друг ничего не делал, чтобы заработало? Спасибо за расширение темы на Англоязычный форум.

    • Изменено Terobit 27 января 2013 г. 21:07
    27 января 2013 г. 21:01
  • Я в компах не шарю просто. Я писал про видюху у себя в вопросе, на который вы ответили - Radeon 5470 Mobility + Win7 64bit. На стационарнике у друга GeForce 680 + Win7 64bit.  Он вообще ничего не делал и я тоже, просто пришел и собрал (как это и должно быть), причём у него стоит Express версия и там почему то даже OpenMP доступен. У меня запускаются скомпилированные на его компе экзешники, т.е. я хотел сказать, что сами то программы работают и видеокарта считает. Проблемы в Visual Studio или в её установке. Вот ссылка на мой вопрос на англоязычном форуме: http://social.msdn.microsoft.com/Forums/en-US/parallelcppnative/thread/c70af811-ae9c-497d-a5db-c93ae499fb9f
    • Предложено в качестве ответа Abolmasov Dmitry 28 января 2013 г. 10:47
    28 января 2013 г. 6:50
  • Вполне возможно что действительно проблема с установкой и стоит попробовать переустановить/сделать восстановление Visual Studio.

    Также проверьте что устройство поддерживает AMP - Can I Run C++ AMP on My Device?


    Для связи [mail]

    28 января 2013 г. 10:46
  • Я уже переустановил Visual Studio и это не помогло. Так же я проверял свою видеокарту используя accelerator в программе - она не эмулируемая, подключена к дисплею т.е. все должно быть хорошо (DirectX 11 так же поддерживается). А восстановление чем нибудь отличается от переустановки? Может быть стоит попробовать восстановить VS, как вы считаете?
    28 января 2013 г. 13:17
  • Честно говоря на вопросы по программной части я не вполне могу ответить. Думаю это может помочь, так как все файлы полностью переустановятся. Судя по написанному пока можно заключить точно только одно возможное сходство: Видеокарта, но мне кажется это немного странным. Получается на Nvidia они вполне нормально строятся, а на Radeon нет. Но это утверждение преждевременно. Необходима статистика. Итак вопрос в зал: "Кто писал на C++ AMP отзовитесь! У кого какая карточка?"
    28 января 2013 г. 14:26
  • Perzh, Я вот подумал. Скольки битная версия Visual Studio установлена у вас на компьютере и у друга? У меня 32 битная. Я посмотрел Express поддерживает обе разрядности при установке, а Premium найти 64 бит посложнее. Как вариант.
    29 января 2013 г. 23:06
  • 32 бита.
    30 января 2013 г. 5:39
  • Здравствуйте. Я решил эту проблему, установив Visual Studio 11 Ultimate x64. Видимо, 32 битная версия не верно производит построение проекта на 64 битной ОС или что-то иное. Но, самое главное, что эта проблема решилась.
    • Изменено Terobit 30 января 2013 г. 15:03
    • Помечено в качестве ответа Abolmasov Dmitry 1 февраля 2013 г. 7:22
    30 января 2013 г. 15:03
  • Она вообще распространяется официально?) В DreamSpark тока 2012 и 2010 есть.
    30 января 2013 г. 15:47
  • Нет. Там нет... ) Есть другие источники...
    30 января 2013 г. 18:14
  • all_pulsar@mail.ru

    Давай пообщаемся, если не трудно. Объяснишь мне ситуацию)

    30 января 2013 г. 18:22
  • Вообще то VS 2012 x64 даже не планируется как я понял. И 2010 тоже не было вроде, потому что им не нужно доп. адресное пространство. Так что не думаю, что проблема была связана с битностью.
    30 января 2013 г. 19:33
  • Я, думаю, ошибся. Но переустановка на Ultimate помогла.
    • Изменено Terobit 31 января 2013 г. 19:04
    31 января 2013 г. 19:02
  • Переустановил Windows. Кажется работает)
    3 февраля 2013 г. 9:24
  • Итак, снег начал таять и ошибка как подснежник вылезла из под завалин кода. Прошло почти два месяца. Решил проверить работает ли, чтобы использовать с профессиональной стороны и снова вылетает та же ошибка. Я уж не знаю что делать. Мне интересно как могут прокомментировать эту ситуацию сотрудники Microsoft. Мне уж больно хочется отвалить сумму за SDK c OpenACC. 
    18 марта 2013 г. 11:27
  • Была аналогичная проблема. Помог перенос проекта в папку, путь к которой не содержит РУССКИХ букв. Как вариант, можно не переносить проект, а лишь создать ссылку на каталог проекта в другом месте файловой системы (в корне диска, например) и открыть его оттуда в VS.
    • Предложено в качестве ответа kosuke904 4 сентября 2013 г. 9:34
    4 сентября 2013 г. 9:30