ATi Stream: Teст клиента distrbuted.net

Многие наверняка  слышали о вычислениях при помощи GPU.  На сегодняшний день CUDA  и ATI Stream, являются конкурирующими платформами  для вычислений на GPU.  Задумка вычислений на GPU состоит в том, что при помощи специально написанного программного обеспечения можно перенести выполнение одинаковых параллельных задач с  центрального процессора на графический при заметном повышении быстродействия расчетов.

Шейдерные блоки графического процессора очень хорошо справляются с вычислениями с плавающей запятой.  Поэтому вычислениями при помощи GPU можно  добиться большого количества одновременно выполняющихся потоков. Например 640 или больше которые будут выполняться параллельно, то есть одновременно.  В интернете полно обзоров технологий касающихся кодирования видео. Мы же посмотрим сейчас на работу технологии Ati Stream  на примере клиента раcпределенных вычислений distributed.net.

В распоряжении имеем:

СPU: AMD Athlon II x4 620 (2,6GHz) разогнан до 3,12GHz

GPU : AMD/ATi Radeon HD 5770 1Gb DDR5

MB: Gigabyte GA-MA785G-UD3H


рис1. Информация о процессореCPU-Z 1.53(x64 bit)

рис2. Информация о видеокарте. Снята  GPU-Z v.03.8

Ниже представлены несколько скриншотов. рис3. — работа GPU, рис5. — работа CPU.

рис.3 Скорость перебора ключей проекта RC5-72 при помощи GPU.

Надо отметить еще тот факт, что при работе GPU-версии клиента, центральный процессор был полность ю свободен. :) Во время работы клиента, также запускался просмотр видео. Проблем замечено не было. Зато было замещено порядочное нагревание карты. 85 градусов при загрузке под 100% .

рис4. температура картыподнялась до уровня 85 градусов.

А теперь давайте посмотрим какую скорость перебора ключей может обеспечить современный 4-х ядерный процессор.  Результаты впечатляют. Смотрим картинку ниже и сравниваем с  рис. 3. :)

рис5. Скорость перебора ключей при помощи СPU в 10-раз ниже.

Надо заметить что есть также клиент для CUDA.  Если попадется под руку достойная карта от nVidia, постараюсь снять результат работы клиента, прикрепить скрин в этой заметке и наваять сравнительную табличку производительности СPU(x86/x64)/ GPU клиентов.

таб1. Сравнительная таблица производительности  Ati Stream клиентов в RC5-72

Видеокарта (GPU) Кол-во шейдерных блоков Производительность RC5-72
~ MKeys/sec
HD 5830 (RV870LE Cypress) 1120 1230
HD 5770 (RV850 Juniper) 800 565
HD 5670 (Redwood) 400 N/A
HD 5570 (Redwood) 400 286
HD 4850 (RV770PRO) 800 480
HD 4770 (RV740 XT) 640 400
HD 4670 (RV730XT) 320 220
HD 4650 (RV730PRO) 320 170
HD 4350 (RV710) 80 N/A
HD 3450 (RV620 LE) 40 N/A

Спасибо за внимание.

6 thoughts to “ATi Stream: Teст клиента distrbuted.net”

  1. Видеокарта: ASUSTeK ENGTS250/DK/DI/512MD3(A), 512Mb DDR3, ENGTS250,

    dnetc v2.9107-516-GTR-09122713 for CUDA 2.2 on Win32 (WindowsNT 6.1).

    [Jan 21 12:24:42 UTC] nvcuda.dll Version: 8.17.11.9562
    Automatic processor identification tag: 8192
    name: GeForce GTS 250 (16 MPs)
    Estimated processor clock speed (0 if unknown): 1836 MHz
    Number of processors detected by this client: 1
    Number of processors supported by this client: 128

    dnetc v2.9107-515-GTL-09120918-*dev* for CUDA 2.2 on Win32 (WindowsNT 6.1).

    [Jan 08 09:48:52 UTC] nvcuda.dll Version: 8.17.11.9562
    [Jan 08 09:48:52 UTC] RC5-72: using core #0 (CUDA 1-pipe 64-thd).
    [Jan 08 09:49:12 UTC] RC5-72: Benchmark for core #0 (CUDA 1-pipe 64-thd)
    0.00:00:17.31 [134,420,392 keys/sec]
    [Jan 08 09:49:12 UTC] RC5-72: using core #1 (CUDA 1-pipe 128-thd).
    [Jan 08 09:49:32 UTC] RC5-72: Benchmark for core #1 (CUDA 1-pipe 128-thd)
    0.00:00:17.30 [136,793,066 keys/sec]
    [Jan 08 09:49:32 UTC] RC5-72: using core #2 (CUDA 1-pipe 256-thd).
    [Jan 08 09:49:52 UTC] RC5-72: Benchmark for core #2 (CUDA 1-pipe 256-thd)
    0.00:00:17.08 [112,543,044 keys/sec]
    [Jan 08 09:49:52 UTC] RC5-72: using core #3 (CUDA 2-pipe 64-thd).
    [Jan 08 09:50:11 UTC] RC5-72: Benchmark for core #3 (CUDA 2-pipe 64-thd)
    0.00:00:17.31 [136,629,114 keys/sec]
    [Jan 08 09:50:11 UTC] RC5-72: using core #4 (CUDA 2-pipe 128-thd).
    [Jan 08 09:50:31 UTC] RC5-72: Benchmark for core #4 (CUDA 2-pipe 128-thd)
    0.00:00:16.66 [93,896,897 keys/sec]
    [Jan 08 09:50:31 UTC] RC5-72: using core #6 (CUDA 4-pipe 64-thd).
    [Jan 08 09:50:51 UTC] RC5-72: Benchmark for core #6 (CUDA 4-pipe 64-thd)
    0.00:00:17.06 [112,834,700 keys/sec]
    [Jan 08 09:50:51 UTC] RC5-72: using core #7 (CUDA 4-pipe 128-thd).
    [Jan 08 09:51:11 UTC] RC5-72: Benchmark for core #7 (CUDA 4-pipe 128-thd)
    0.00:00:17.40 [96,488,990 keys/sec]
    [Jan 08 09:51:11 UTC] RC5-72: using core #9 (CUDA 1-pipe 64-thd busy wait).
    [Jan 08 09:51:31 UTC] RC5-72: Benchmark for core #9 (CUDA 1-pipe 64-thd busy wait)
    0.00:00:17.65 [197,901,022 keys/sec]
    [Jan 08 09:51:31 UTC] RC5-72: using core #10 (CUDA 1-pipe 64-thd sleep 100us).
    [Jan 08 09:51:52 UTC] RC5-72: Benchmark for core #10 (CUDA 1-pipe 64-thd sleep 100us)
    0.00:00:17.31 [134,285,837 keys/sec]
    [Jan 08 09:51:52 UTC] RC5-72: using core #11 (CUDA 1-pipe 64-thd sleep dynamic).
    [Jan 08 09:52:11 UTC] RC5-72: Benchmark for core #11 (CUDA 1-pipe 64-thd sleep dynamic)
    0.00:00:17.28 [197,477,987 keys/sec]
    [Jan 08 09:52:11 UTC] RC5-72 benchmark summary :
    Default core : #0 (CUDA 1-pipe 64-thd)
    Fastest core : #9 (CUDA 1-pipe 64-thd busy wait)
    [Jan 08 09:52:11 UTC] Core #9 is significantly faster than the default core.
    The GPU core selection has been made as a tradeoff between core speed
    and responsiveness of the graphical desktop.
    Please file a bug report along with the output of -cpuinfo
    only if the the faster core selection does not degrade graphics performance.

  2. Я так понимаю что при использовании GPU при расчетах, сами приложения должны поддерживать эту возможность. Или существует какая-то другая возможность заставить GPU проводить вычисления не связанные с обработкой видеопотока? Например задействовать GPU при пакетной обработке фотошопом тяжелых фотографий…

  3. Чтобы писать ПО которое будет уметь использовать мощности GPU, необходимо иметь специальный прораммный пакет OpenCL и расширения для языка С поддерживающие. В случае с ATi — это на сегодняшний день ATI Stream SDK 2.0., а для nVidia — CUDA.

  4. Я к тому, что есть ли возможность заставить GPU обсчитывать приложения в которых изначально это не предусмотрено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *