Свежие комментарии

Title Comment
А начиная с 10.7 выключить

А начиная с 10.7 выключить системный color management в макоси - нельзя же вроде?

Были же рыдания, дескать начиная с 10.7 печать мишеней для калибровки принтеров чудовищно усложнилась (я печатаю из винды - и не вдавался)

Ну да, теоретические. 1050

Ну да, теоретические. 1050 мегагерц * 2048 юнитов * 2 (или 0.5) операции на такт.

ох уж эти benchmarks и их

ох уж эти benchmarks и их цифры, Wikipedia показывает
( теор. скорее всего ) :

Tahiti XT2

GFLOPS (Single-precision) : 4300
GFLOPS (Double-precision) : 1075

http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units...

Там кэши, быстрая память, отдельно реализованные fp32 и fp64

Там кэши, быстрая память, отдельно реализованные fp32 и fp64, аппаратные синусы-косинусы. Прилично набирается того, чего у PPro не было.

Не, ну конечно на GPU сложнее, о чем я и пишу. Вместе с эт

Не, ну конечно на GPU сложнее, о чем я и пишу.

Вместе с этим - есть проблема. Допустим, мы пишем программу для end-user и какое у него GPU - не знаем. Если мы при этом еще и под конкретные архитектуры (обе, хотя на самом деле, наверное, десяток) не оптимизируем, то разброс по относительной (относительно пиковой/теоретический) производительности будет чудовищным.

И это, собственно, и есть проблема. "Производительность не переносится"

вообще, сравнивать FLOPS от GPU и Xeon Phi можно только весь

вообще, сравнивать FLOPS от GPU и Xeon Phi можно только весьма условно. ибо они сильно разные, как CPU и GPU и FPGA.

более-менее честный тест на CPU, например HPL, делается прим

более-менее честный тест на CPU, например HPL, делается примерно так: есть некая реальная задача (СЛУ), она использует некие критические по производительности примитивы (FFT, BLAS), тогда берём лучшую реализацию этих примитивов под данный CPU, запускаем и сравниваем. получается относительно честно. по отдельности FFT, BLAS можно считать синтетическими тестами, но в случае их "реального" использования это уже достаточно практический benchmark.

есть ещё подход SPEC INT/FP с исходными текстами, но он работает только потому, что CPU и их компиляторы всё равно внутренне более-менее похожи. скажем, можно скомпилировать SPEC INT и для CUDA, но результат будет не показательным.

на GPGPU сложнее, аппаратно архитектуры GPU все сильно разные, некоторые реализуют свою API (CUDA), много важных технических ограничений (размеры кешей, буферов, регистры, возможности синхронизации).

Так я про это и говорю. Бенмарка долна решать задачу, при эт

Так я про это и говорю. Бенмарка долна решать задачу, при этом точить бенчмарку под железо должен производитель железа.

А что, 2 млн транзисторов на приличное ядро - это уже совсем

А что, 2 млн транзисторов на приличное ядро - это уже совсем мало-мало? Например PPro - 5.5 млн, но там бог знает сколько на внешние интерфейсы, кэши и общесистемные невычислительные штуки (TLB, rings, поддержка 16-bit, что-то еще в количестве). В общем, по идее туда влезает не совсем уж простое вычислительное ядро.

вроде эвристически "у амд ALU намного круче, но у нвидии кон

вроде эвристически "у амд ALU намного круче, но у нвидии контроллер памяти круче на десятки процентов" всегда работало :)

амд тесты с заточенной memory locality рвут нвидию в разы, а с ее отсутствием наоборот.

короче, железки разные и мерять их как процессоры не выходит, ага

Atomic syncro

Atomic syncro

Тоже попробовал Atomic Sycro.

Тоже попробовал Atomic Sycro. Звуковые ощущения необычные - "вжик" это мягко сказано, особенно на обледеневшей трассе, или по дорожке укатанной снегоходами. Ехать вдвоем и разговаривать почти невозможно, слова друг друга не слышно из-за звука из-под от своих лыж. Возможно это фича мартовского солнышка, когда днем подтаивает а потом подмерзает.

Нормальной - не было в тот момент (середина 2011 и чуть позж

Нормальной - не было в тот момент (середина 2011 и чуть позже).

Насколько я помню (но мог и перепутать), была ACML-GPU (плохо совместимая с жизнью) а вот APPML появилась позже и первое время с жизнью тоже была совместима не очень (а потом меня HPC на AMD интересовать перестало :)

Разве у AMD нет своей BLAS библиотеки для их GPU?

Разве у AMD нет своей BLAS библиотеки для их GPU?

Вот когда мы полтора года назад выжимали терафлопсы из AMD -

Вот когда мы полтора года назад выжимали терафлопсы из AMD - там речь шла именно о специально написанной (не нами) реализации DGEMM для AMD. Которая CALDGEMM

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

Никакого. Никто же, находясь в здравом уме, не измеряет общу

Никакого. Никто же, находясь в здравом уме, не измеряет общую производительность процессоров на примере собственноручно написанного алгоритма перемножения матриц. Обычно сравнивают, используя библиотеки, у Интела - MKL (для CPU и PHI), у NVIDIA - CUBLAS, у AMD что то еще (для CPU и GPU).

Не, ну а какой смысл в том что они делают, если вендоровый A

Не, ну а какой смысл в том что они делают, если вендоровый APPML сильно быстрее?

> То есть эффективность была 75% от теоретической, а ViennaC

> То есть эффективность была 75% от теоретической, а ViennaCL гордится 200/947=21%.
> Да, то что я мучал полтора года назад - это было написано бодрыми немцами на CAL/IL, ViennaCL - OpenCL, но не должно же быть ТАКОЙ разницы, больше чем в три раза по эффективности?

Я как раз ничего удивительного не вижу. Простенький код обычно такую эффективность и показывает (20%).

И еще

И еще вдогонку:
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6...
(не стал скачивать статью, абстракта достаточно)

На трех 7970 добились небольшого превосходства над одним условным титаном. Т.е. электричество втрое, слоты - втрое, а перформанс на 20% выше в DP (чем анандтех намерял) и в ~1.6 в SP.

Когда вы эту экономику попытаетесь поскейлить даже на небольшой датацентр и выясните что вам нужно ~2x по стойкам и по питанию, разница в цене карт перестанет волновать совсем.

Да, все вышенаписанное не

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

Да, я естественно видел эти

Да, я естественно видел эти варианты с 16 units.
Если недогружать карту (давать в SM меньше threads) - то производительность для большинства kernels будет хуже. Т.е. общее правило - прятать латентность в большом количестве threads.
Еще я увидел, что 64 units - это все на маке. Надо в хакинтош сунуть 480-ю (580-й у меня нет) и посмотреть.

Что же касается "вообще вычислений", то ситуация не столь проста, как кажется. Да, естественно, 6990 выигрывали у современной им Tesla M2070 в разы в гигафлопсах DP на доллар (практическими сравнениями 7970 с K20 я не занимался, а вот с предыдущим поколением - был грех). И на единицу карт тоже выигрывали: c одной 6990 в HPL можно было снять терафлопс в DP, а с M2070 - 500 или 600б не помню уже. Т.е. по цене терафлопса там разница была раз в 10 (или 6, не суть важно).

Но все эти рассуждения не учитывают существенных вещей:
а) технологичность. Теслы - с пассивным охлаждением, ставятся нормально в сервера по несколько штук, выпасание их освоено, включаешь и все работает. 6990 в реальной эксплуатации в многочасовых расчетах - перегреваются и или снижают частоту или просто виснут, много приколов.
б) драйвера (речь про Linux). Тесла просто работает. ATI нужно чтобы были запущены графические драйвера, чтобы на всех картах был бы какой-то виртуальный десктоп (а на винде - и подключенный монитор), это временами странно глючит.
в) Всякие странные хреновины, вроде GPU Direct (обмен данными карта-карта по сети Infiniband, вообще минуя CPU, все по PCIe). Понятно, нужно чтобы софт это умел, но если умеет, это многое облегчает.

г) Софт. Да, для OpenCL сейчас потихоньку начали писать, но вообще процентов 95 рассчетного - это CUDA.
И вот NVidia-библиотеки (и BLAS, и генератор случайных числел, и FFT, и, наверное, CuPP /не пробовал/ и Thrust) - можно брать и пользовать. У AMD с этим все гораздо печальнее: подвижки есть, но медленные. Это я про ситуацию лета-осени 2011, с тех пор с AMD плотно не работал.

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

На фоне перечисленного, разница в стоимости терафлопса, ну там 7970 стоит $400, а K20X - $5000 (а Титан - 1000) - вообще не играет роли. Если вы сами что-то разрабатываете. Потому что разница в цене одной карты, даже K20X против 7970, отбивается месяцем работы разработчика.

А если софт готовый и дописывать его не планируется - то надо его и бенчмаркать. Может оказаться, что там не 1.3-2 раза разница (как между Титаном и 7970 по анандтеху), а в 6 (потому что в пузе живет ViennaCL :)

Если поискать GTX 580 в

Если поискать GTX 580 в results search, то находится вот это(там только вариант с 16 units) и это тоже нужно как-то объяснить:

Score Submission Date Scene Name Mode Device Count Device Name(s) User
1049 2013-01-21 05:16:27 Sala GPU 1 GeForce GTX 580 [16 units @ 1880MHz] maximus2
1011 2012-02-16 11:40:27 Sala GPU 1 GeForce GTX 580 [16 units @ 1800MHz]
998 2013-01-14 18:27:52 Sala GPU 1 GeForce GTX 580 [16 units @ 1780MHz] npwski
902 2013-01-21 09:11:02 Sala GPU 1 GeForce GTX 580 [16 units @ 1645MHz] Sielan
899 2012-05-02 23:48:41 Sala GPU 1 GeForce GTX 580 [16 units @ 1564MHz] TekHousE
894 2012-04-10 10:41:45 Sala GPU 1 GeForce GTX 580 [16 units @ 1564MHz] bmt
893 2012-03-16 07:57:02 Sala GPU 1 GeForce GTX 580 [16 units @ 1566MHz] xavstar
892 2012-11-18 08:03:46 Sala GPU 1 GeForce GTX 580 [16 units @ 1564MHz]
885 2012-05-01 04:01:17 Sala GPU 1 GeForce GTX 580 [16 units @ 1566MHz] newnub1
868 2012-01-21 15:06:00 Sala GPU 1 GeForce GTX 580 [16 units @ 1830MHz] npwski

Я изначально засомневался в приведенном по ссылке, потому что оно не соответствовал сформировавшемуся у меня стереотипу что luxmark на любых одночиповых нвидиях хуже чем на GCN радеонах. С чтения вот такого: http://www.tomshardware.com/reviews/geforce-gtx-680-review-benchmark,316... (другая сцена) http://www.anandtech.com/show/5699/nvidia-geforce-gtx-680-review/17 (smallluxgpu, но это родственное)

Units это наверное CL_DEVICE_MAX_COMPUTE_UNITS , как оно используется в luxmark и влияет на производительность я не представляю. Может быть кто-то внес модификации в luxmark для увеличения утилизации на нвидии...

>т.е. оснований не верить ей - нету.

У меня в принципе тоже, для моей карты Tahiti [28 units @ 900MHz] результаты соответствуют.

>Это два разных чипа и у теслы K10 на 104-м чипе - примерно тот же перформанс, что и у GTX680

Я больше про то, что 680 проигрывает 580 на многих SP compute бенчмарках, согласно анадтекам итп. Сам не тестировал, но это какбе консенсус вроде. Биткоинщики жаловались на отсутсвие 32bit int rotate right инстуркций в нвидии.

>GK104/GK110 - все честно.

Ну у AMD то урезания DP на "дешевых" игровых картах меньше(1/4 theoretical согласно офиц. ист.). Я правда точно не знаю насколько хорошо теоретическое DP у AMD реализуется в практическое. Если, грубо говоря, так же хорошо как нарисовано на бенчмакрах на сайтах по сравнению с 680, то меня как человека интересующегося удешевлением вычислений не должны интересовать разграничения введенные нвидией на игровые и вычислительные карты, "честность", меня должны интересовать SP/DP гигафлопсы (или целочесленные IPSы, в зависимости от задачи) на доллар или ватт, и у AMD на многих реальных задачах(не бенчмарках) уделывает нвидию в плане долларов. Т.е. удешевление за счет геймеров, а не выделение карт в отдельную compute категорию, по крайней мере для single precision. Нвидия с 680 как бы расстраивает.

Интересно кстати, почему титан за $1k с 7 миллиардами транзисторов не так сильно обгоняет в SP и DP (3200 против 2300, и 1300 против 800 согласно мацумото) а иногда и вообще почти не обгоняет http://www.tomshardware.com/reviews/geforce-gtx-titan-performance-review... карту которую можно купить за 400 баксов. Неужели все эти бенчмарки НАСТОЛЬКО flawed. Я конечно понимаю что дополнительные 3 гб памяти не бесплатны, и незаменимы для многих задач, и что архитектура у NVIDIA по идее более гибкая...

Ещё из анекдотов вот например http://wili.cc/blog/gpgpu-faceoff.html Говорит что учитывая стоимость GK110 (от себя добавлю что и GK110 в titan варианте) 7970 выигрывает.

Да ясно, что нужна команда. И

Да ясно, что нужна команда. И минимум один интерфейсный ДИЗАЙНЕР. А то интерфейс сделанный професисональными программистами -- это же такой же мем, как озвучка игры профессиональными дизайнерами.

Про units: у меня нет причин

Про units: у меня нет причин сомневаться в device count у бенчмарки. Чтобы "подать вычисление" на разные devices - нужно специально постараться т.е. сделать это в коде. Если там Nvidia-fans специально не жульничали, то device count - гарантированно правильный.
Кроме того, у меня на GTX480 в свое время получалось достаточно близко к данным из этой базы (поменьше, но не слишком), т.е. оснований не верить ей - нету.

Возможно, тут речь о количестве OpenCL workgroups, которые подаются на карту. Их, по хорошему, должно быть больше чем по одной на SM (зависит от register/shared memory pressure), так оно работает быстрее т.к. латентность глобальной памяти лучше прячется. И 4 workgroup на SM (128 threads) - хорошая величина, хотя я бы и больше пробовал.

Про 680 и compute - я не согласен. В отличие от прошлых случаев (C 260-й по GTX580), когда можно было что-то списывать на маркетинг и специальное урезание DP performance, в случае GK104/GK110 - все честно. Это два разных чипа и у теслы K10 на 104-м чипе - примерно тот же перформанс, что и у GTX680. Ну и как мы теперь знаем из описания титана, DP units - отдельные и отдельно же греются. Т.е. если мы все включим, то должны будем снизить частоту.
Что там было с DP units на предыдущих поколениях - так хорошо не известно. У меня была теория, что SP объединяются попарно, но может быть я не прав и юниты отдельные. И, соответственно, у теслы и geforce тоже были разные чипы.

А драйвера OpenCL - да, отдельный прикол. У всех, не только у AMD.

GeForce GTX 580 [64 units @

GeForce GTX 580 [64 units @ 1800MHz] по ссылке в базе luxmark бенчмарков это что-то странное. Если искать 580 поиском отдельно, то находятся результаты примерно 800-1000 для medium сцены, у них у всех 16 юнитов. Википедия тоже говорит что у 580 -- 16 SMов. Так что luxmark скорее под AMD "заточен", а этот результат скорее outlier, наверно неправильно записанный multigpu.

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

На luxmark у AMD растет производительность от драйвера к драйверу. На моем 7950 при смене 12.10 драйвера на 13.1, результат на medium sala подскочил с 1700 до 1900 с чем-то. Возможно AMD начали вводить "специализации" под отдельные бенчмарки, как они это делают для игр. На линуксе та же сцена дает почему то только 1200, что неприятно. В целом впечатление от драйверов AMD после длительного использования NVIDIA крайне негативное. NVIDIA может и гады что не дают нам compute и DP, но по крайней мере у них драйвер работает. Из OpenCl related, например, АMDшный драйвер при попытке скомпилировать рендерер blender cycles, драйвер съедает больше 8 гигабайт памяти, и много минут компилирует (не помню успешно или нет). На http://devgurus.amd.com много жалоб на мискомпиляцию, а поддержка линукс драйвера (в целом) просто ужасна. Алсо вот http://techreport.com/review/24218/a-driver-update-to-reduce-radeon-fram... , про то как без специализаций драйвера под игру, у AMD была большая неоднородность в времени рендеринга кадров, из-за несовершенства менеджера памяти, который был недостаточно переделан с предыдущих более простых vliw архитектур, и пока эти журналисты не подняли шум, пользователи играли в запинающиеся игры.

AMD и партнеры планируют развивать Heterogeneous System Achitecture с llvm-derived стандартом, для будущих APU в которых обещано сократить стоимость коммуникации акселератора с CPU. Но хочется чего-то вроде xeon phi,в качестве стандарта распараллеливаемых вычислений будущего, чтобы меньше зависеть от особенностей компилятора, проще предсказывать производительность (в теории).

Проблема с поворотом в том,

Проблема с поворотом в том, что вместо благородного программирования обработки больших массивов данных image[][] придется делать ruler tool и прочие подобные ужасы.

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

не думал, что для обработки фоток требуются такие высокие те

не думал, что для обработки фоток требуются такие высокие технологии)

Да, рисование руками, это то,

Да, рисование руками, это то, что я (безплапншетный и с руками из жопы) всё время упускаю.

А в чём проблема с поворотом? Ясно же, что всё равно такая штука должна кешировать битмап для скорости. Ну поменялся размер слоя в какой-то момент -- и что?

Ну раздумья - да, ломаются о

Ну раздумья - да, ломаются о маску.

Т.е. я понимаю, как дешево сделать рамку в которой будет работать некий графический пайплайн: нечто вроде PixelBender но со слоями (и с последовательным запуском множества kernels со своими настройками).

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

Не, ну все же эти бенчмарки - они ж хорошие. И Raytracing и

Не, ну все же эти бенчмарки - они ж хорошие. И Raytracing и Sobel filter и bitonic sort и parallel scan и что там еще есть у CLbenchmark.

Проблема там совершенно в другом. Когда в чип на "3-5-7 млрд транзисторов" напихивают 1500-2000-2700 "вычислительных ядер" - эти ядра получаются совсем уж простые. Сложного предсказания переходов, очень умных кэшей, многих портов исполнения и всего того, что как-то прячет глупость входного кода - там нет.
Наоборот, там очень много плохих особенностей чипа (те же bank conflicts, coalesced memory access - для NVidia) документированы явно и программист должен выпиливать код в обход этих проблем.

Ну и memory bandwidth - она на чип в 5-10 раз больше, чем на CPU, но в расчете на ядро - соответственно в десятки-сотни раз меньше, т.е. лишний поход в общую память стоит очень дорого, гораздо дороже чем на CPU.

А дальше начинается. Вот если на AMD доступно 32k local storage, а на NVidia - 48, то как мы должны делать код бенчмарки, под 32 (чтобы везде работало), под 48 (чтобы на NVidia было быстрее, а на AMD не работало) или вовсе конфигурироваться на ходу - но тогда бенчмарка будет сильно непрямолинейной. ?

Pages

Subscribe to comments_recent_new