Январь 2012

Про HD7970

Договорился с жабой и купил новую грелку для ног.

Вкратце:

  • OpenCL 1.1, поддерживается, работает. Посмотреть что там за код не получается, Kernel Analyzer не умеет это место.
  • Драйвера: под винды есть, бета, в основной Catalyst не включены (и, похоже, войдут не раньше чем в 12.3 т.е. через два месяца т.к. даже в 12.2-preview поддержки 79xx нет). Драйвера под линукс поискал для проформы (мне не надо) - и не нашел.
  • Сцуко, быстрая. Один и тот же OpenCL-код (написанный
  • ...

О техническом писательстве

Пишу доку к варезу, первый раз за много лет - для обычного пользователя, сферического в вакууме (все что писал в последние годы - было доками по библиотекам т.е. для программистов).

Нашел в самой задаче крупное логическое противоречие:

  1. С одной стороны: загружать разработчика такой работой - противоречит самой идее разделения труда. Архитекторы должны архитектить, кодеры - кодить, тестеры - тестить, технические писатели - писать мануалы, а специалисты по пуговицам - пришивать пуговицы.
  2. С другой стороны: технический писатель имеет дело с черным ящиком. Он не знает что там внутри, если в программе вдруг что-то нелогично, то не его (писательское) дело против этого протестовать. Ему что дали - про то он и споет.

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

    А вот пиша (писуя?) документацию - до всех потаенных углов долезешь и все нелогичности внезапно увидишь. У меня список мелких багов образовался за время писания - больший, чем за предыдущие месяц-два.

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

Грелки для ног и гигафлопсы

У желающих пощупать за вымя свежую архитектуру HD79xx есть два разумных выбора:

  • Купить 7970 сейчас (принципиально дешеветь дальше уже не будет, пока не отрастут конкуренты).
  • Подождать месяцок до реального появления в продаже 7950, которая будет примерно на сотку баксов дешевле.

Чтобы оправдать первый вариант (руки то чешутся), вот такой вот расчет:

HD7970

  • 2048 cores x 925 MHz /2 = 947 GFLOP/s (теоретическая, на double).
  • Рекомендованная цена $550 (и в newegg теоретически за столько можно купить) т.е. 1.72 GFLOPS/$
  • Реальная цена в московской рознице 19000, т.е. 0.0499 GFLOPS/руб.
HD7950
  • 1792 cores * 800 MHz /2 = 716 GFLOP/s.
  • Рекомендованая цена $450 т.е. 1.59 GFLOPS/$
  • Какая будет цена в московской рознице - непонятно, но чтобы сравняться с 7970 по гигафлопсам на рупь, цена должна быть 14400, что крайне маловероятно. А 7970 может еще на тысчонку подешеветь спокойно.

Теоретически, конечно, 7950 хорошо гонится, может быть даже лучше чем 7970. Но практика для предыдуших двух серий Радеонов показывает, что многочасовой расчет на штатной частоте (без снижения) - это уже прекрасный результат и всерьез надеяться на оверклок не стоит. Игры в этом месте менее показательны, они пушат лимитсы меньше, чем любовно оптимизированный расчет.

Короче, моя жаба приведенным выше расчетом - удовлетворилась.

Мастера художественного передергивания

Очень трудно удержаться и вообще ничего не писать о политике. Вот опять не получилось.

Вот есть свежий опрос Левады. Всех, понятно, интересуют предстоящие выборы, там эта тема раскрыта двумя способами:

  • Открытый список, хоть Дарта Вейдера вписывай. По этому методу у Путина 37% поддержки (проголосовал бы за него в ближайшие выходные) от населения, у Зюганова ( 2) - 8%. А 41% населения тем или иным способом затруднился с ответом.
  • Закрытый список, проценты только от определившихся: 63% запутина, 15% зазюганова.
Дальше пресса начинает об этом писать. Ну, понятно, что 8 против 37, что 15 против 63 - разные весовые категории, и там и сям 4.5 раза. Поэтому мастера журналистики для Пу берут цифирку из первой таблички (поменьше), а для Зю - из второй (побольше).

Отличились:

Молодцы, че. В борьбе за правое дело и передернуть не грех. А если вдруг Пу наберет over 50 (или 60) в первом же туре (что, согласно результатам вышеупомянутого опроса, вполне вероятно) - массовка будет заранее знать что все подтасовано, ибо соцопросы давали 37%

Пацан сказал - пацан сделал

Собянин пообещал, что лыжни будут проложены в каждом московском парке и зоне отдыха.

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

Имею сказать, что это совершенно новый класс ощущений, проехал раза в три больше, чем обычно.

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

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

Минусы:

  • Веточка на лыжне - минус 20 к скольжению. Кроме того, плюс 10 к шуму (раздается вжик) и плюс 50 к щекотанию, если ехать по лесной лыжне, где много веточек - щекотно нереально.
  • Любой короткий бугорок, который целиком попадает под участок с насечкой - минус 10 к скольжению, прямо запинаешься об них.
  • На относительно мягком снегу коньком плохо: на двух лыжах едешь, а на одной - скорее нет. На более утоптанном это уже не ощущается.
Результат: обычных лыж хотелось только после снегопада, когда дорожки под конек уже были, а лыжни толком - еще не было.

10G дома: 6 букв, вторая "и"

Приехали первые (короткие) CX4-кабели и я начал поднимать Infiniband прямо на столе (до сервера эти кабели не дотянутся).

Собственно, исходно я клюнул на IB из соображений поразвлечься. Имею сказать, что развлекся я уже по полной программе, эти $69 себя уже окупили полностью.

Две машины, Win 7 x64 и Ubuntu 11.10.

Ставим драйвера (OFED 3.0 под Windows, драйвера из поставки в Убунте, кажется это Linux OFED 1.4.x), всовываем кабель, запускаем opensm, имеем в первом приближении счастье: PORT_ACTIVE...

Подземный стук - 2

Продолжение истории начатой здесь

Я не верю, что битая памяь может выражаться в тормозах. В падениях программ, в битых файлах - это пожалуйста. Но тормоза? Впрочем, я не гордый, раз все советуют, запустить memtest несложно.

Ставлю по одному модулю (чтобы потом не разбираться, какой адрес ошибки какому модулю соответствует), проверяю, ничего не находится. Как, собственно, и ожидалось.

Но ночью приходит такой вот комментарий:

Это звучит как проблема с кешированием памяти. Есть на MacOSX какие-то средства посмотреть конфигурацию MTRR, как memcontrol(8) во FreeBSD ? Когда-то давно очень часто BIOSы забывали правильно сконфигурировать MTRR для страниц выше 4GB.

И вот эта идея, в отличие от битой памяти, не противоречит моим мироощущениям.

Ставлю все 8Gb, запускаю memtest и вот что оказывается:

Первый же тест (Address range, кажется) начинает безумно тормозить после шестого гигабайта. И это происходит со всеми тестами, на глазок разница в скорости - на порядок, а может и на два.

При этом, один гигабайт адресного пространства поремеплен (PCIe и всякое такое) т.е. в первых 6 гигабайтах адресов живет 5 гигабайт RAM, а оставшиеся три - тормозят.

Поресеттил PRAM - не помогло. Стал издавать звук при включении, вспомнить бы, как я его выключил... :)

Другими словами, гипотеза про некэшированность куска адресов - очень похожа на правду.

В мане по установке памяти на сайте Apple написано двояко: 1) вы можете поставить до 2 4-гиговых модуля 2) но данный макбук распознает до четырех.

Поставил пока два модуля с разными размерами и таймингом, 4GB DDR2-800 и 1GB DDR2-667 (второй - исходно был в этой машине), пока полет нормальный. Но явно пора этот отдавать детям, а себе покупать новый, 5GB в 2012-м году - несолидно.

Заметим, что это не свойство ОС. У меня есть Хакинтош с 12GB, там никаких таких странностей нет.

Подземный стук

Есть у меня MacBook Pro, почти новый, пяти лет еще нету.

И решил я ему сделать подарок на новый год: поапгрейдил память до 8Gb, пока DDR2 совсем из продажи не пропала. Сделал. Где-то в начале декабря.

Пользуюсь я им мало, почти совсем не, поэтому только к середине января заметил, что прошедших до конца бэкапов у меня с 1 декабря и не было. Стал разбираться. Увидел странное:

  • Сразу после включения машинка работает весьма бодро. Первые минут 10 (если ничего не делать, то и дольше).
  • После нескольких гигабайт I/O начинается чертовщина:
    • Полностью или почти полностью исчезает idle time
    • Минимальные программы, вроде top, могут жрать 20-40% CPU
    • Все действия необычайно замедляются, запуск Firefox может минут 20 занимать.
    • Бэкап на time machine - первые 2-6Gb пролетают мухой, что по 1G Ether, что по Wifi, а потом все встает колом и все мои 80Gb бэкапятся больше суток.
Первая гипотеза: перегревается процессор и делает сам себе throttle. Поставил варез, померял, ну греется где-то до 80-85, много, но не запредельно (TjMax у процессора - 100).

Развинтил, действительно термопаста высохла (что не означает, что она не отводила), намазал новой, стало получше, но не сильно. Поставил программу, которая раскручивает вентиляторы, максимальная скорость, температура процессора 40-65, но все равно тормозит.

Тогда я стал грешить на SSD. Я его тоже поапгрейдил вместе с памятью, этот диск работал в десктопе пару лет, претензий не было, но мало ли. Поменял на обычный ноутбучный 120Gb (который и был исходно в этом ноуте) - чертовщина не исчезла.

После этого я вытащил одну планку памяти - и кардинально полегчало. Сейчас буду обратно возвращать SSD.

Вопрос у меня простой: Папа, что это было?

В гугле я вижу некоторое количество таких же несчастных с 8Gb и tooo slloooowwww, но никакого конструктива.

Q: нано-GIS для андроида

А вот вчера меня спросили, а я и не знаю что ответить.

Представим, есть Андроид-планшет с GPS-приемником.

Хочется счастья следующего вида:

  • Несколько слоев растровых карт (собственно топографические карты разных масштабов, снимок такой, снимок сякой, геологическая карта)
  • Включать/выключать слои.
  • Ставить и аннотировать точки.
  • Импорт-экспорт в какой-то несложный GIS на PC (вроде SAS-Planet). Т.е. подготовка вышеописанных слоев делается, естественно, заранее.
Меня эта тема никогда не интересовала т.к. автономность у андроид-планшетов никак не устраивает. Но у спрашивающего есть автомобиль более-менее под рукой (в базовом лагере) т.е. можно каждый день подзаряжаться от пуза.

Есть что-то готовое? Бесплатность необязательна, нужно для работы, можно и заплатить, а вот возможность попробовать до покупки - желательна.

А: корпус для HDD

Алаверды ко вчерашнему посту про корпуса для HDD.

Как мне подсказали, есть конструкторы "JBOD-массивов", собирай сам. Смотрел я на них, мне не понравилось что у 9-bay варианта глубина аж 44 сантиметра, это как у ATX-корпуса. Можно купить Antec Three Hundred: те же 9 bay, на два сантиметра глубже, но влезет ATX-материнка и с выдувом все нормально, а не мелкие шумные вентиляторы на жопе.

Зато внезапно стало понятно где искать, это нужен корпус к DVD-дупликатору,...

Pages