2007

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

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

Помимо форумов NVidia, где заводится по 5-6 новых топиков в день, интересных публикаций немного.

Для начала: Beyond3D опубликовал большой текст про CUDA. Более подробный, чем все что я видел до сих пор (ну, кроме собственно документации).

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

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

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

Класса люкс

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

_MG_1084-1.jpg

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

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

  • Для начала, объявленные 520 GFLOP/s оказались обычным маркетингом The 520 GFLOPS number quoted in the technical brief includes some graphics-specific operations that are not directly accessible from CUDA. С точки зрения вычислений, гигафлопсов там 345 (считая Multiply-Add за две операции). Тоже неплохо. В реальности будет разика в два поменьше, но тоже ничего.
    Для сравнения, гипотетический (пока) 3Ghz 4-ядерный Core2Duo умеет 8 операций на такт * 4 ядра * 3Ghz = 96 GFLOP/s, а получить удастся процентов 70 от этого.
  • Отсутствие атомарных операций сильно усложняет жизнь. Предлагается в цикле писать значение в global memory, до тех пор пока не убедишься в успехе.
  • На текущий момент все вызовы - блокирующие. Т.е. нет возможности
    • Запустить счет и одновременно заливать/выливать данные для следующего/предыдущего счета.
    • Использовать две (и более) карт
    Обещают починить.
  • The performance gain you'll get by using CUDA over the graphics API largely depends on how much your application can take advantage of the shared memory. В-общем, идея понятная, но полностью противоречит всей прошлой истории GPGPU. Может оно и хорошо

Умножение матриц, серия 4: NVidia G80, CUDA, CuBLAS и RapidMind

GPGPU или зачем все эти упражнения

Все предыдущие и более ранние мои упражнения были сделаны в качестве «подхода к снаряду», нужна была baseline для более интересной задачи: вычислений общего назначения на видеокарте.

Эта тема в последние год-полтора (а особенно, в последние полгода) очень сильно нагрелась. В то же время, в варианте от NVidia hardware и софт общедоступны, покупаешь видеокарту и развлекаешься.

Приборы и материалы: NVidia CUDA и прочие

Настоящий общедоступный сдвиг произошел меньше месяца назад: 6 февраля 2006 г. вышла вторая версия NVidia CUDA Toolkit, она же первая публичная (и первая более-менее работающая), она же версия 0.8.

Эта версия доступна всем желающим без подписания NDA, следовательно результаты тестов можно открыто публиковать.

Тема исследования, как обычно, умножение матриц. Задача очень простая алгоритмически, но со своими особенностями. В силу простоты задачи, изучать особенности одно удовольствие.

Рассматривались три доступных умножителя матриц:

  1. SGEMM в составе библиотеки CUBLAS.
  2. Тестовый пример от NVidia, который очень подробно разобран в документации.
  3. Реализация SGEMM от RapidMind.

Vista или нет ?

Провел выходные за переразбивкой дисков и переустановкой виндов. Заодно попробовал и Висту.

За:

  • есть драйвера под мой старый принтер Canon S9000 и 64-битную ОС (под XP x64 их нет, а 64 бита для меня обязательны, памяти 8 гигов). Собственно, ради упрощения печати (а сейчас я печатаю из VMWare) все и было затеяно.
  • Размер иконок на десктопе меняется через Ctrl-колесо. Прикольно и можно подобрать хороший размер.
Против очень очень много, хотя со временем исправят:
  • Драйвера под мой RAID (Areca 1210) имеются (от Win2003), но они неподписаны. Загрузиться можно только выбрав запрет проверки подписи драйверов. А это - одна из опций загрузчика, другие: Safe mode и так далее. В результате, сделав конструкцию незагружаемой (путем установки nTune в моем случае) нельзя откатиться назад.
  • Новые системные шрифты не нравятся. Т.е. без ClearType они смотрятся совсем плохо, а с ClearType плохо смотрятся другие шрифты. Когнитивный диссонанс и болят глаза.
  • Все нововведения с юзеринтерфейсом - не понравились. Мигает, переливается, а смысла никакого не видно. 'Use windows classic folders' и, соответственно, Windows classic theme.
  • Задолбали!!! предупреждения о том, что какая-то программа очень хочет запуститься. В нормальной жизни оно, скорее всего, приемлемо, а вот при заливке софтом - ужас просто.
  • Задолбала необходимость на каждый чих делать Run As administrator. Ну ладно в Windows/system32 не пускать, это я понимаю, но в юзерские (мои личные!) файлы ?
  • EFI boot - это чудовищно. Раньше это место правилось тестовым редактором, а сейчас - bcdedit. Подозреваю, что ставить XP после Висты тоже будет мучительно.
  • dir /s WIndows
    43678 файлов в 29806 каталогах, общий объем 9.6Gb
    Чего они туда понапихали ? Для сравнения, в свежеустановленной XP - 7109 файлов и 883 мегабайта.
Пошел сносить обратно. HDTV playback мне пока без надобности, а попечатаю по старинке, из VMWare player (+XP 32 bit).

Canon EF 70-200 IS

Подвернулся случай сравнить два объектива:

Canon 70-200/2.8 IS
Canon 70-200/4 IS

На мой вкус, у младшего рисунок на не слишком контрастных объектах не хуже, а края картинки на на бесконечности и f/4 даже и изрядно получше.

Надо изучать что будет с источниками света в кадре, если все хорошо, то менять, светосилы f/2.8 ценой лишнего килограмма веса мне не надо.

На не слишком далекие объекты (3-4 метра) точность наводки автофокуса на моей камере близкая и вполне хорошая.

Да, стабилизатор на взгляд примерно одинаковый: на 200 мм и 1/30 часть кадров имеет очень хорошую резкость, а часть "приемлемую" т.е. на A5 можно печатать если нет выбора.

Картинок не будет, верьте на слово.

Update Оказывается, по мнению фотозоны, младшенький "...may well be the very best tele zoom on the market today - it is certainly the best Canon zoom lens tested locally to date". Инструментальные тесты - не главное, но спорить не буду, мне новый 70-200 тоже очень понравился.

Update Провел операцию по замене f/2.8 IS на f/4 IS. Получается примерно бесплатно, но у нового гарантия на два года.

Кто без греха, тот пусть бросит

Яндекс (в лице Яндекс.Ленты) профукивал пароли пользователей ЖЖ. С целью экономии трафика, вестимо.

Количество разума в мире постоянно, а население растет.

Update 1:

  • Судя по всему, через Яндекс-ленты была доступна часть подзамочных записей
  • В настоящий момент импорт не работает (error 404), а значит это не свежевнесенная бага, а бывшая там давно
  • Если я правильно понимаю, чинить можно только путем размножения лент. Т.е. сделав "честный" агрегатор, который авторизованые RSS-ы будет хранить персонально для юзера.

Update 2: читаем на странице импорта:

Также учтите, что скрытые (опубликованные под замком ) записи пользователей LiveJournal не будут отображены в вашей ленте.
По всей видимости, при импорте OPML (с паролями) это обходилось. Сайд-эффект описан выше.

Update 3: наверное это просто совпадение, но эта запись по прошествии 17-ти часов не находится Яндекс-Блогами по точной цитате.

Умножение матриц, серия 3: Woodcrest против Opteron, ACML против MKL, Goto BLAS против всех

Использованная в предыдущем тестировании библиотека численных методов Intel Math Kernel Library очевидно не является оптимизированной под процессоры AMD. Следовательно, нужно изучать альтернативы.

Альтернатив на сегодня видно три: это библиотека AMD Core Math Library от производителя процессора и две OpenSource библиотеки: Goto BLAS и ATLAS (Automatically Tuned Linear Algebra Software). Их и изучим.

Все бенчмарки были совершенно одинаковыми: заполнялись исходные матрицы (значениями от 0.0 до 1.0), затем вызывалась функция sgemm (для single precision) или dgemm (double), время выполнения которой и измерялось.

Кроме Dual Opteron 275, в руки попал еще сервер Dual Xeon 5140, показалось полезным сравнить две архитектуры.

Есть ли у журналистов запрет на профессию ?

Коммерсант жжот!

Как выяснили эксперты, студент варил в кастрюльке триперекись ацетона крайне взрывоопасное вещество на основе селитры.
Понятно, почему у него ничего не вышло. Он бы еще уху на основе мяса варил.

Кроме того, он совершил еще одно ужасное преступление

Кроме того, в кастрюльку были заведены два оголенных провода.
Вот ведь мерзавец! А если бы четыре провода завел? Разровняло бы ДАС по камушку!

И это еще хорошее издание. А ведь другую журналистскую продукцию мы хаваем и хаваем и хаваем. Про полоний. Про ураний. Про компьютеры. Впрочем, про компьютеры не хаваем.

Pages