Компилиране, инсталиране и използване на MGARD под CentOS 7 и 8Съдържание:
1. Предварителна информацияMGARD (MultiGrid Adaptive Reduction of Data) е C++ библиотека, която предоставя алгоритъм за компресия (допускащ известна загуба на точност), приложим за намаляване на обема на големи масиви научни (числови) данни. Целта на този документ е да предложи рецепта за изграждане на версия на PIMx библиотеката, оптимизирана за скорост на изпълнение, чрез компилаторите от пакета Intel Compilers и/или PGI Compilers.
2. Изтегляне на изходния код и компилирането му с Intel Compilers и PGI CompilersПреди да започнете, трябва да се убедите, че имате достъп до изпълнимите файлове на компилаторите, включени в Intel Compilers и/или PGI Compilers (в зависимост от това кой пакет компилатори ще използвате). В случай на използване на Intel Compilers това е Преди да пристъпите към процеса на компилация, трябва да инсталирате cmake (cmake3 в CentOS 7):
За да изтеглите поседната стабилна версия на изходния програмен код, посетете хранилището на проекта: https://github.com/CODARcode/MGARD/releases Връзката за изтегляне на архива в изходния код е в текста на страницата. За примерите по-долу се предполага, че наличната към момента версия на библиотеката е 0.0.0.2 (по-времето, по което вие изпълнявате тези инструкции, версията може да е по-висока от 0.0.0.2): $ wget https://github.com/CODARcode/MGARD/archive/0.0.0.2.tar.gz -O MGARD-0.0.0.2.tar.gz Създайте директория, в която да извършите компилирането: $ mkdir ~/build Разпакетирайте в нея файла с архива: $ tar xvf MGARD-0.0.0.2.tar.gz -C ~/build влезте в новосъздадената при разпакетирането директория: $ cd ~/build/MGARD-0.0.0.2 и там изпълнете операциите по конфигурирането, компилирането и инсталирането:
След успешно извършване на инсталацията, може да изведете списък с библиотеките, към които е динамично свързана библиотеката
Най-важното, за което трябва да проверите в този списък с библиотеки, е наличието на свързани библиотеки от колекцията на използваните Intel и/или PGI компилатори (виж редовете оцветени в светло синьо).
3. Динамично свързване на компилираната библиотека към C/C++ и Fortran приложенияЗа да може даден код да бъде компилиран спрямо динамичната версия на PIMx библиотеката (компилирана по процедурата показана по-горе) при използване на
След успешна компилация спрямо динамичната версия на библиотеката, изпълнимият код трябва да може да зарежда PIMx библиотеката при стартиране. За целта, в текущата сесия на
Това зареждане може да бъде направено инцидентно (примера по-горе) или да стане част от постоянните настройки за ВАЖНО! В системата, в която ще се изпълнява кода на приложението, към което е динамично свързана MGARD библиотеката, трябва да са налични и съответните библиотеки от пакета на използвания компилатор (виж примера с извеждането на техния списък по-горе). Когато се използва статичната версия на MGARD библиотеката, самия файл с библиотеката се задава в списъка с бинарни обекти, на база на които компилатора създава изпълнимия код. Например:
|
Последна актуализация: 7 декември 2019
2019 УНИТе, Веселин Колев