NVidia 8800

SGEMM на видеокарте и CPU, серия 6

Tags: 

Уже становится какой-то дурной традицией переделывать тест умножения матриц каждые несколько месяцев. Однако с прошлого забега случилось несколько событий:

CUDA 2.0 beta

Tags: 

Не прислав мне никакого уведомления (хотя раньше присылали), NVidia выпустила CUDA 2.0 beta.

Вообще, и анонс в форуме довольно куцый, складывается впечатление, что по политическим причинам попросили выкатить то, что есть прямо сейчас.

CUDA для Mac

Tags: 

Вышла бета версия NVidia CUDA for Mac OS X. На удивление, сразу в публичный доступ, через девелоперский сайт прогонять не стали.

Естественно, требует Мака с видеокартой NVidia 8xxx. Менее естественно, но требует Leopard 10.5.2 и установленного Leopard Graphic Update. Так как все это у меня было, я слегка поигрался.

CUDA в массы - 2

Tags: 

Я протормозил, а 169-я версия драйверов от NVidia вышла из беты еще 19 декабря. nvcuda.dll в наличии.

Свершилось, теперь вполне можно выпускать реальные приложения для end-users, а в требованиях спокойно писать "Windows XP, Geforce 8xxx, официальные драйвера 169.+".

Но пока не для Vistы....

NVidia CUDA 1.1 released

Tags: 

Вышла NVidia CUDA 1.1
В сравнении с бета-версией, больших изменений не видно, но все вкусности, которые были доступны только партнерам с партнерского сайта, теперь доступны всем.

Впрочем, общий драйвер, который для всех пользователей, но с поддержкой CUDA, все еще в бете, поэтому распространять собственный софт с CUDA все еще неудобно. Но ждать, по всей видимости, недолго.

Из интересных проектов с CUDA увидел два:

    CUDA в массы!

    Tags: 

    Анонсирована NVidia CUDA 1.1 (beta).

    Несмотря на некруглый номер версии, это революция:

    • CUDA-функциональность теперь будет в обычном драйвере;
    • Необходимые DLL-s из SDK можно редистрибутировать вместе с приложением;

    По сути, это означает, что из тестовой системы оно стало боевой: в требованиях к программе можно писать просто NVidia 8x00 и минимальную версию (обычных!) драйверов и у любого пользователя оно будет работать.

    Вообще, анонс довольно интересный и требует подробного комментирования.

    NVidia G92: совсем не то, что хотелось

    Tags: 

    Как многие уже знают, сегодня Nvidia анонсировала видеокарту GeForce 8800GT на новом чипсете G92.

    То что анонсировано, сильно отличается от того, что прогнозировали весной, никакого терафлопа нету, новый чипсет медленнее и предыдущей топовой модели 8800Ultra и следующей за ней 8800GTX.

    Умножение матриц, серия 5: вычисления на GPU - 2

    Tags: 

    Почему переделываем тесты?

    Предыдущая моя статья на эту тему была написана в феврале 2007 года, сразу после выхода первой публичной бета-версии CUDA Toolkit/CUDA SDK. Представители NVidia предупреждали, что в бета-версии производительность не является оптимальной, к релизу она будет улучшена.

    За прошедшие полгода, пока я занимался совсем другими вещами, были выпущены релизы:

    • NVidia CUDA: SDK и библиотеки CUBLAS/CUFFT v1.0;
    • NVidia CUDA Display Driver 162.xx (драйвер, собственно, транслирует псевдокод в реальные программы GPU);
    • RapidMind Platform версий 2.0.0, а затем и 2.0.1.

    Интересно посмотреть, стала ли производительность лучше.

    Программирование NVidia 8800: вести с веба

    Tags: 

    В University of Illinois at Urbana, куда я чуть было не уехал заниматься геологией 15 лет назад, в настоящее время читается курс ECE 498 AL : Programming Massively Parallel Microprocessors.

    Опуская обычные охи "ну почему этому не учат на ВМК" - все в наших руках и я думаю, что через пару лет такие курсы будут и у нас (Update: подобный курс уже есть на физтехе и, возможно, будет на физфаке МГУ), тема вкусная - хочу обратить внимание на слайды и транскрипты лекций, доступные вот тут. Читают приглашенные лекторы из NVidia, поэтому основное внимание уделено, сюрприз, NVidia 8800. Курс
    включает в себя лабы, которые сделаны очень интересно: есть готовая рыба, делающая подготовительную работу (I/O, печать результаты) и студент должен только написать несколько десятков-сотен строк изучаемой функциональности. Что, конечно, экономит кучу
    непроизводительного времени (смотреть тут)

    Я успел посмотреть не все, из того что посмотрел - многое нравится, а многое
    не нравится:
    Не нравится то, что танцы идут от предыдущего поколения видеокарт. Если говорить о программировании вообще (а все примеры - про это), а не про видеоигры, то надо забывать про шейдеры и текстурные буферы. Ведь студентов учат, которые, я надеюсь, всего этого ужаса не нюхали.

    Нравится, как практику, подробный разбор аппаратуры. Вылезает множество подробностей, которые нигде не опубликованы.

    Вот о подробностях - ниже.

    NVidia 8800GTX: скорость чтения текстур

    Tags: 

    В предыдущей части мы рассматривали чтение из глобальной памяти Geforce 8800 напрямую ("как из массива C"). При этом отсутствует кэширование, но при оптимальной схеме доступа получается (согласно указаниям NVidia) наибольшая производительность.

    В то же время, скорость доступа при неоптимальном паттерне очень маленькая. Для решения этой проблемы (помимо оптимизации паттерна) NVidia CUDA предлагает доступ к памяти как к текстуре.

    NVidia 8800GTX: пропускная способность памяти (при использовании CUDA)

    Tags: 

    После чтения руководства по NVidia CUDA, остается ощущение сложности модели программирования: треды, блоки тредов, warp-ы, иерархическая память. Непонятно, какие параметры вычислительной задачи оптимальны и какие у них вообще допустимые значения. Само руководство точных рекомендаций не дает, дает лишь приблизительные.

    Из общих соображений, понятно что самая медленная часть суперкомпьютера - память.

    Читая веб и блоги: CUDA и прочее программирование на NVidia 8800

    Tags: 

    На удивление мало жизни происходит по запросу 'NVidia CUDA' в поиске по блогам и новостям. Что у Яндекса, что у Google. Мне это сильно удивительно - штука многообещающая, первая версия SDK датирована ноябрем (появилась примерно 1-го декабря), публичный SDK появился практически месяц назад, а большинство упоминаний в духе "вот вышло", в крайнем случае "читал доку". Таких текстов - навалом, маркетинг NVidia работает. Но скучно.

    NVidia CUDA: синхронизация и shared memory

    Tags: 

    Экспериментально выяснилось, что содержимое shared memory не сохраняется между запусками кода на G80. Всякий раз оно инициализировано, причем значения разные, то 10 (float), то 125.

    Плакала идея синхронизации между мультипроцессорами путем завершения kernel. Нет, синхронизироваться можно, конечно, но если хочется сохранить результат, то надо писать в глобальную память.

    Читая форумы: NVidia 8800GTX, гигафлопсы, консистентность памяти и прочие тараканы

    Tags: 

    Третий день читаю форумы про NVidia CUDA и радуюсь сырости технологии.

    Pages

    Subscribe to RSS - NVidia 8800