Главная страница
Навигация по странице:

  • %VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers

  • Интересные и/или полезные ссылки по теме Visualizers http://msdn.microsoft.com/en-us/library/zayyhzts.aspx

  • Writing custom visualizers for Visual Studio 2005 http://www.virtualdub.org/blog/pivot/entry.phpid=120

  • OpenCV debugger visualizers for Visual Studio https://bitbucket.org/sergiu/opencv-visualizers

  • Boost

  • How to Write Native C++ Debugger Visualizers in Visual Studio for Complicated Types http://www.idigitalhouse.com/Blog/p=83

  • Setting up Visual Studio Debugger Visualizers http://www.chromium.org/developers/how-tos/how-to-set-up-visual-studio

  • М. В. Ломоносова 2015 Антонюк Валерий Алексеевич Программирование на видеокартах (gpgpu). Спецкурс кафедры мми. М. Физический факультет мгу им. М. В. Ломоносова, 2015. 48 с. Учебное пособие


    Скачать 1.54 Mb.
    НазваниеМ. В. Ломоносова 2015 Антонюк Валерий Алексеевич Программирование на видеокартах (gpgpu). Спецкурс кафедры мми. М. Физический факультет мгу им. М. В. Ломоносова, 2015. 48 с. Учебное пособие
    Дата17.01.2022
    Размер1.54 Mb.
    Формат файлаpdf
    Имя файлаGPGPU.pdf
    ТипУчебное пособие
    #333418
    страница8 из 8
    1   2   3   4   5   6   7   8
    #array (
    . . . )
    ,
    #list ( . . . )
    ,
    #tree ( . . . )
    , на которых мы здесь останавливаться не будем, отметим лишь, что с их использованием появляются новые переменные для выражений:
    $i
    ,
    $c
    ,
    $r
    Visual Studio 2012
    Начиная с Visual Studio 2012 введён другой формат описания визуализаторов в отладчике: они помещаются в XML-файлы с расширением
    .natvis
    , при этом поддерживаются множественные файлы визуализаторов. Располагаться такие файлы могут в следующих местах:

    %VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers
    (требуются административные права!)

    %USERPROFILE%\My Documents\Visual Studio 2012\Visualizers\

    Каталоги VS-расширений
    46

    Пример содержимого
    .natvis
    -файла:



    {{CPtrArray m_nSize={m_nSize}}}

    m_nSize
    m_nMaxSize
    m_nGrowBy

    m_nSize
    ($T1*)m_pData[$i]




    Видно, что его содержание примерно соответствует старым описаниям, но оформляется по- другому.
    Интересные и/или полезные ссылки по теме
    Visualizers
    http://msdn.microsoft.com/en-us/library/zayyhzts.aspx
    Статья из библиотеки MSDN; интересна тем, что это всё-таки информация хотя и недостаточная, но от разработчика...
    Writing custom visualizers for Visual Studio 2005
    http://www.virtualdub.org/blog/pivot/entry.php?id=120
    Одна из первых и наиболее часто цитируемых статей, в которой подробно описаны
    (недокументированные) свойства файла
    autoexp.dat
    How to fix debugger visualizers for VS2005 SP1 and VS2008
    http://virtualdub.org/blog/pivot/entry.php?id=172
    Watch out for number bases in Visual C++ visualizers
    http://
    virtualdub
    .org/
    blog
    /pivot/entry.php?id=302
    Другие заметки этого же автора на рассматриваемую тему.
    OpenCV debugger visualizers for Visual Studio
    https://bitbucket.org/sergiu/opencv-visualizers
    Набор визуализаторов для популярной библиотеки компьютерного зрения OpenCV, упоминаемой в курсе ранее. Включает показ ключевых типов
    cv::Mat|cv::Mat_<*>
    и
    cv::gpu::GpuMat
    (наиболее интересных для нас), а также других (
    cv::Vec<*,*>
    ,
    cv::Point_<*>
    ,
    cv::Rect_<*>
    ,
    cv::Scalar_<*>
    ,
    cv::Ptr<*>
    и пр.)
    About Debugger Visualizers
    https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers
    Приведены визуализаторы для упоминавшейся ранее библиотеки Boost (описаны типы
    boost::array
    ,
    boost::ptr_vector
    ,
    boost::ptr_array
    ,
    boost::ptr_deque
    ,
    boost::ptr_list
    ,
    boost::ptr_map
    ,
    boost::ptr_set
    и многие другие).
    47

    Visual Studio Debug Visualizer For Half Floats
    http://www.reedbeta.com/blog/2013/02/06/visual-studio-debug-visualizer-for-
    half-floats/
    Визуализатор для вещественных величин, занимающих два байта (т.н. формат half float). half{ preview(
    #if (($e._h & 0x7c00) == 0x7c00) (
    #if (($e._h & 0x03ff) == 0) (
    #if ($e._h & 0x8000) ("-inf") #else ("+inf")
    ) #else (
    #if ($e._h & 0x0200) ("qNaN") #else ("sNaN")
    )
    ) #else (#if (($e._h & 0x7c00) == 0) (
    ; Denormal or zero
    [($e._h & 0x03ff) / 16777216.0 * (($e._h >> 0xf) * -2.0 + 1.0), g]
    ) #else (
    ; Normal float (condensed to avoid length problem)
    [(1<<(($e._h&0x7c00)>>0xa))/32768.0*(1.0+($e._h&0x03ff)/1024.0)*(($e._h>>0xf)*-2.0+1.0),g]
    ))
    )
    }
    Автор статьи тестировал код в Visual Studio 2008 и 2010 и обнаружил, что, по-видимому, есть ограничение на число символов в квадратных скобках (около сотни символов); это влияет на окно с локальными переменными (но не на Watch-окно). Кроме того, он обнаружил, что если включён шестнадцатиричный режим в отладчике, то все целые числа воспринимаются как шестнадцатиричные, что вынудило его в тексте визуализатора записывать их именно так.
    How to Write Native C++ Debugger Visualizers in Visual Studio for Complicated Types
    http://www.idigitalhouse.com/Blog/?p=83
    Частный пример построения визуализатора для строки, находящейся глубоко в иерархии
    (с подробными пояснениями и иллюстрациями получаемых результатов).
    Setting up Visual Studio Debugger Visualizers
    http://www.chromium.org/developers/how-tos/how-to-set-up-visual-studio-
    debugger-visualizers
    Визуализаторы для проекта известного открытого браузера Chromium.
    48

    О спецкурсе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    3
    Видеокарты и GPU как супервычислители . . . . . . . . . . . . . . . . . . . . . . .
    5
    CUDA — архитектура и программные средства . . . . . . . . . . . . . . . . . . . .
    6
    CUDA-программа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    7
    Иерархия нитей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    8
    Виды памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    8
    Компиляция программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    8
    Расширения языка C в архитектуре CUDA . . . . . . . . . . . . . . . . . . . . . . .
    9
    Спецификаторы функций и переменных . . . . . . . . . . . . . . . . . . . .
    9
    Дополнительные типы данных CUDA . . . . . . . . . . . . . . . . . . . . . .
    9
    Полный синтаксис запуска ядер на исполнение . . . . . . . . . . . . . . . .
    9
    Дополнительные математические функции . . . . . . . . . . . . . . . . . . . 10
    Разделяемая память . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
    Взаимодействие нитей в блоках . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
    Адресация памяти в нитях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
    Суммирование компонент вектора — пример ядра . . . . . . . . . . . . . . . . . . 13
    Умножение матриц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    Алгоритм параллельной сортировки Bitonic Sort . . . . . . . . . . . . . . . . . . . 17
    "Косвенное" использование возможностей GPU . . . . . . . . . . . . . . . . . . . 19
    Библиотеки для CUDA GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
    Thrust: состав и возможности . . . . . . . . . . . . . . . . . . . . . . . . . . 21
    Библиотека cuBLAS — базовые функции линейной алгебры . . . . . . . . . 22
    Библиотека cuSPARSE — разреженные матрицы . . . . . . . . . . . . . . . 24
    Библиотека cuSPARSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    Форматы представления данных . . . . . . . . . . . . . . . . . . . . . . . . . 25
    Форматы представления разреженных матриц . . . . . . . . . . . . . . . . . . . . . 26
    Coordinate Format (COO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
    Compressed Sparse Row Format (CSR) . . . . . . . . . . . . . . . . . . . . . . 26
    Compressed Sparse Column Format (CSC) . . . . . . . . . . . . . . . . . . . . 26
    Ellpack-Itpack Format (ELL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    Hybrid Format (HYB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    Пример использования библиотеки cuSPARSE . . . . . . . . . . . . . . . . . . . . . 27
    Общие замечания о сторонних библиотеках . . . . . . . . . . . . . . . . . . 28
    Отображение разреженных матриц . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
    Библиотека Boost — решение ОДУ . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    Boost.Compute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
    Стандарт OpenCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
    Дополнительные материалы по Boost и OpenCL . . . . . . . . . . . . . . . . . . . 35
    Библиотека OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
    Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
    Компиляция и сборка проекта . . . . . . . . . . . . . . . . . . . . . . . . . . 36
    Программирование с использованием OpenCV . . . . . . . . . . . . . . . . 37
    Простейшие примеры программ . . . . . . . . . . . . . . . . . . . . . . . . . 38
    Графическая библиотека OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
    Использование GLUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
    GLSL (OpenGL Shading Language) . . . . . . . . . . . . . . . . . . . . . . . . 41
    OpenGL в браузере — WebGL . . . . . . . . . . . . . . . . . . . . . . . . . . 43
    Вспомогательные средства: визуализаторы . . . . . . . . . . . . . . . . . . . . . . . 44
    Visual Studio 2005-2008-2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
    Синтаксические конструкции autoexp.dat . . . . . . . . . . . . . . . . . . . 45
    Visual Studio 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
    Ссылки по теме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
    1   2   3   4   5   6   7   8


    написать администратору сайта