LINPACK технологии

03.01.2011 14:08

Ливерморски цикли е набор фрагменти от фортран програми, всяка от която е взета от реалните програмни системи, експлоатирани в Ливерморската национална лаборатория на името на Лоуренс (САЩ). Обикновено при провеждане на изпитанията се използват или малък набор от 14 цикъла, или голям набор от 24 цикъла. Пакетът от Ливерморски цикли се използва за оценка на производителността на изчислителните машини на 60-те години. Ливерморските цикли се считат за типични фрагменти на програмите за числените задачи. Появяването на нов тип машини, в това число векторни и паралелни, не намали важността на Ливерморските цикли. Изменени са само значението на производителността и величините на разпределение между различните цикли.

Изработка на сайтове и уеб дизайн услуги от www.webdesignsofia.com и web сайтове тип динамичен бизнес сайт, корпоративен сайт, графичен дизайн и SEO оптимизация на web сайтове за търсачки и търсещи машини.
Производителността на векторната машина зависи не само от елементите на базата, но и от характера на самия алгоритъм, т.е. от коефициента на векторизуемост. Според Ливерморските цикли коефициентът на векторизуемост се колебае от 0 до 100%, което още веднъж потвърждава тяхната ценност за оценка на производителността на векторните архитектури. Освен характера на алгоритъма, на коефициента на векторизация влие и качеството на векторизатора, вграден в компилатора.
Производителността на паралелната машина съществено зависи от съответствието между структурите на апаратните връзки на изчислителните елементи и структурата за изчисляване на алгоритъма.
Важно е текстовият пакет да представлява алгоритъм от различни структури. В Ливерморските цикли се срещат последователни, мрежови, конвейерни и вълнови изчислителни алгоритми, което доказва тяхната пригодност и за паралелни машини. Така че обобщението на резултатите при измерване на производителността, получени на една паралелна машина на друга или на някой подклас на паралелните машини, може да бъде неверен резултат, така че структурите на апаратните връзки в такава машина са много по-разнообразни, отколкото да кажем във векторните машини.
LINPACK - това е пакет от фортран програма за решаване на системи от линейни алгебрични уравнения. Алгоритъма на линейната азбука е навсякъде широко използван в най-различни задачи и затова измерването на производителността на LINPACK представлява интерес за много ползватели. Сведение за производителността на различните машини с пакета LINPACK се публикува от сътрудниците на Аргонската национална лаборатория (САЩ) Дж.Донгар и периодически се обновява. В основата на алгоритъма на действащия вариант LINPACK лежи методът на декомпозиция. Изходната матрица с размер 1000/1000 отначало се представя като произведение на две матрици със стандартна структура, над които след това се изпълнява алгоритъм на решение. Подпрограмите влизащи в LINPACK са структурирани. В стандартния вариант LINPACK е отделен от вътрешното ниво на базовите програми, всяка от които изпълнява елементарни операции на векторите. Набора от базовите програми се нарича BLAS (Basik Linear Algebra Subprograms). Например в BLAS влизат две прости подпрограми SAXPY (умножение вектор със скалар) и SDOT (скаларно произведение на векторите). Всички операции се изпълняват над числа с плаващи точки, представени с двойна точност. Резултатът се измерва с MFLOPS. Използването на резултатите на работа на текстовия пакет LINPACK с двойна точност, като основа за демонстрация на рейтинга MFLOPS, е станало общоприета практика в компютърната промишленост. При това трябва да се помни,  че при използване на изходна матрица с размери 100/100, тя напълно може да се вмести в кеш паметта с обем например 1 М Байт. Ако при изпитанията се използва матрица с размер 1000/1000, то обемът на кеш-а е вече недостатъчен и някои обръщания към паметта ще се ускоряват благодарение на такъв кеш, други ще доведат до пропуск и ще трябва повече време за обръщане към паметта. За многопроцесорните системи също има паралелни версии LINPACK и такива системи често показват линейно увеличение на производителността с нарастване числото на процесора. Както при всяка друга единица за измерване, рейтингът на MFLOPS за отделна програма не може да бъде обобщен при всички случаи в живота, така че да представлява единствена единица за измерване производителността на компютъра, макар че е много съблазнително да се характеризират машините само чрез рейтинга на MIPS без указание за програмите.