Gups (Giga Updates Per Second) Время GUPS Время Время Учебный сайт
Учебные материалы


Gups (Giga Updates Per Second) Время








В течение нескольких десятилетий развитие ЭВМ сопровождалось удвоением их быстродействия каждые 1.5-2 года. Это обеспечивалось и повышением тактовой частоты и совершенствованием архитектуры (параллельное и конвейерное выполнение команд).

  • В течение нескольких десятилетий развитие ЭВМ сопровождалось удвоением их быстродействия каждые 1.5-2 года. Это обеспечивалось и повышением тактовой частоты и совершенствованием архитектуры (параллельное и конвейерное выполнение команд).

  • Узким местом стала оперативная память. Знаменитый закон Мура, так хорошо работающий для процессоров, совершенно не применим для памяти, где скорости доступа удваиваются в лучшем случае каждые 6 лет.

  • Совершенствовались системы кэш-памяти, увеличивался объем, усложнялись алгоритмы ее использования.

  • Для процессора Intel Itanium:

  • Latency to L1: 1-2 cycles

  • Latency to L2: 5 - 7 cycles

  • Latency to L3: 12 - 21 cycles

  • Latency to memory: 180 – 225 cycles

  • Важным параметром становится -

    GUPS

    (Giga Updates Per Second)


Время

  • Время



Суперкомпьютер Jaguar Cray XT5-HE Opteron Six Core 2.6 GHz

  • Суперкомпьютер Jaguar Cray XT5-HE Opteron Six Core 2.6 GHz

  • Пиковая производительность - 2331 TFlop/s

  • Число ядер в системе — 224 162

  • Производительность на Linpack - 1759 TFlop/s (75.4% от пиковой)

  • Энергопотребление комплекса -

    6950.60 кВт

  • Важным параметром становится –

    Power Efficency (Megaflops/watt)

  • Как добиться максимальной производительности на Ватт => Chip MultiProcessing, многоядерность.



AMD Opteron серии 6100 (Magny-Cours)

  • AMD Opteron серии 6100 (Magny-Cours)

  • 6176 SE 12 ядер @ 2,3 ГГц, 12 МБ L3 Cache

  • 6136 8 ядер @ 2,4 ГГц, 12 МБ L3 Cache

  • встроенный контроллер памяти (4 канала памяти DDR3)

  • 4 канала «точка-точка» с использованием HyperTransort 3.0





Intel Core i7 980X (Gulftown) 3,33 ГГц

  • Intel Core i7 980X (Gulftown) 3,33 ГГц

  • 6 ядeр

  • 12 потоков с технологией Intel Hyper-Threading

  • 12 МБ кэш-памяти Intel Smart Cache

  • встроенный контроллер памяти (3 канала памяти DDR3 1066 МГц )

  • технология Intel QuickPath Interconnect



Intel Itanium 9350 (Tukwila) 1,73 ГГц

  • Intel Itanium 9350 (Tukwila) 1,73 ГГц

  • 4 ядeр

  • 8 потоков с технологией Intel Hyper-Threading

  • 24 МБ L3 кэш-памяти

  • технология Intel QuickPath Interconnect

  • технология Intel Turbo Boost



IBM Power7

  • IBM Power7

  • 3,5 - 4,0 ГГц

  • 8 ядер x 4 нити Simultaneuos MultiThreading

  • L1 64КБ

  • L2 256 КБ

  • L3 32 МБ

  • встроенный контроллер памяти





Автоматическое / автоматизированное распараллеливание

  • Автоматическое / автоматизированное распараллеливание

  • Библиотеки нитей

      • Win32 API
      • POSIX
  • Библиотеки передачи сообщений

      • MPI
  • OpenMP







Polaris, CAPO, WPP, SUIF, VAST/Parallel, OSCAR, Intel/OpenMP, UTL

  • Polaris, CAPO, WPP, SUIF, VAST/Parallel, OSCAR, Intel/OpenMP, UTL

  • icc -parallel pi.c

  • pi.c(8): (col. 5) remark: LOOP WAS AUTO-PARALLELIZED.

  • pi.c(8): (col. 5) remark: LOOP WAS VECTORIZED.

  • pi.c(8): (col. 5) remark: LOOP WAS VECTORIZED.

  • В общем случае, автоматическое распараллеливание затруднено:

  • косвенная индексация (A[B[i]]);

  • указатели (ассоциация по памяти);

  • сложный межпроцедурный анализ.



Intel/GAP (Guided Auto-Parallel), CAPTools/ParaWise, BERT77, FORGE Magic/DM, ДВОР (Диалоговый Высокоуровневый Оптимизирующий Распараллеливатель), САПФОР (Система Автоматизации Параллелизации ФОРтран программ)

  • Intel/GAP (Guided Auto-Parallel), CAPTools/ParaWise, BERT77, FORGE Magic/DM, ДВОР (Диалоговый Высокоуровневый Оптимизирующий Распараллеливатель), САПФОР (Система Автоматизации Параллелизации ФОРтран программ)

  • for (i=0; i

  • if (A[i] > 0) {b=A[i]; A[i] = 1 / A[i]; }

  • if (A[i] > 1) {A[i] += b;}

  • }

  • icc -guide -parallel test.cpp



test.cpp(49): remark #30521: (PAR) Loop at line 49 cannot be parallelized due to conditional assignment(s) into the following variable(s): b. This loop will be parallelized if the variable(s) become unconditionally initialized at the top of every iteration. [VERIFY] Make sure that the value(s) of the variable(s) read in any iteration of the loop must have been written earlier in the same iteration.

  • test.cpp(49): remark #30521: (PAR) Loop at line 49 cannot be parallelized due to conditional assignment(s) into the following variable(s): b. This loop will be parallelized if the variable(s) become unconditionally initialized at the top of every iteration. [VERIFY] Make sure that the value(s) of the variable(s) read in any iteration of the loop must have been written earlier in the same iteration.

  • test.cpp(49): remark #30525: (PAR) If the trip count of the loop at line 49 is greater than 188, then use "#pragma loop count min(188)" to parallelize this loop. [VERIFY] Make sure that the loop has a minimum of 188 iterations.

  • #pragma loop count min (188)

  • for (i=0; i

  • b = A[i];

  • if (A[i] > 0) {A[i] = 1 / A[i];}

  • if (A[i] > 1) {A[i] += b;}

  • }















Возможность инкрементального распараллеливания

  • Возможность инкрементального распараллеливания

  • Упрощение программирования и эффективность на нерегулярных вычислениях, проводимых над общими данными

  • Ликвидация дублирования данных в памяти, свойственного MPI-программам

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

  • Наличие локальных и/или разделяемых ядрами КЭШей будут учитываться при оптимизации OpenMP-программ компиляторами, что не могут делать компиляторы с последовательных языков для MPI-процессов.

















OpenMP 3.0:

  • OpenMP 3.0:

  • Intel 11.0: Linux, Windows and MacOS

  • Sun Studio Express 11/08: Linux and Solaris

  • PGI 8.0: Linux and Windows

  • IBM 10.1: Linux and AIX

  • GNU gcc (4.4.0)

  • Предыдущие версии OpenMP:

  • Absoft Pro FortranMP

  • Lahey/Fujitsu Fortran 95

  • PathScale

  • HP

  • Microsoft Visual Studio 2011 C++
























Карта сайта

Последнее изменение этой страницы: 2018-09-09;



2010-05-02 19:40
referat 2018 год. Все права принадлежат их авторам! Главная