Page 42 - 6111
P. 42

Це повною мірою стосується таких простих тестів, як LINPACK
                            або STREAM.
                                Засоби для оцінки продуктивності комп'ютерів необхідні. Щоб
                            використовуватися  широко,  вони  повинні  бути  простими.  Прості
                            тести  не  дають  повної  картини  і  в  кожному  випадку  потрібно
                            використовувати  додаткові  кошти.  Простота  необхідна,  але
                            простота не приводить до шуканого результату.
                                Одне з можливих напрямків виходу з даної ситуації полягає у
                            формуванні набору взаємодоповнюючих тестів. Якщо одне число не
                            може  адекватно  охарактеризувати  обчислювальну  систему,  можна
                            спробувати  це  зробити  за  допомогою  набору  чисел.  Тестові
                            програми  можуть  братися  з  різних  предметних  областей  і  робити
                            акцент на різних особливостях архітектури. Частина програм може
                            бути модельними додатками, а частина може представляти реальні
                            промислові  додатки.  Зрозуміло,  що  принципи  формування  таких
                            наборів можуть бути дуже різними.
                                Одним  з  перших  пакетів,  побудованих  на  таких  принципах,
                            став набір з 24 Ліверморських циклів (The Livermore Fortran Kernels,
                            LFK).  До  його  складу  увійшли  обчислювальні  ядра  прикладних
                            програм,  що  використовуються  в  Ліверморській  національній
                            лабораторії  США.  Всі  включені  в  пакет  фрагменти  програм  є
                            простими циклічними конструкціями, розібратися в яких не складає
                            ніяких  труднощів.  Частина  циклів  представляють  собою  типові
                            обчислювальні  блоки  типу  скалярного  відношення,  рекурсій  або
                            обчислення  значення  поліномів.  Інша  частина  містить  часто
                            використовувані  конструкції  мови  Fortran.  Деякі  цикли  містять
                            фрагменти,  ефективна  компіляція  яких  може  бути  заважкою.
                            Приклади трьох тестових конструкцій показані нижче.
                                Всі  тести  LFK  дуже  маленькі,  і  це  характерна  властивість
                            пакета  в  цілому.  У  деяких  тестах  містяться  явні  вказівки
                            компілятору. Наприклад, у тесті 1 знаходиться директива ivdep , яка
                            говорить про відсутність информаційної залежності в циклі і досить
                            великому  числі  ітерацій  циклу,  при  якому  векторизація  свідомо
                            буде мати сенс. У тесті 20 є директива novector, що перешкоджає
                            використанню векторних команд компілятором  у  фрагменті аж до
                            наступної директиви vector .
                                Перші  версії  LFK  з'явилися  на  початку  70-х  років  минулого
                            сторіччя.  Настільки  раннє  виникнення  пакета  визначило  його
                            основну  спрямованість  -  вимірювання  продуктивності  окремих
                            процесорів. Значну популярність Ліверморські цикли отримали на
                            векторно-конвеєрних  машинах,  що,  легко  пояснити.  Формування
                            набору  тестів  у  вигляді  невеликих  циклічних  конструкцій  добре

                                                              41
   37   38   39   40   41   42   43   44   45   46   47