Boost
👉Вернуться к списку инструкций
Boost – это широко используемый набор библиотек с открытым исходным кодом для языка программирования C++, разрабатываемый сообществом и признанный частью экосистемы современного C++. Boost охватывает широкий спектр функциональности: от работы с потоками, файлами и регулярными выражениями до графовых алгоритмов, сериализации данных и асинхронного ввода-вывода. Многие компоненты Boost позже вошли в стандарт языка C++, благодаря своей зрелости и надёжности. Эти библиотеки позволяют существенно ускорить разработку, повысить переносимость кода и обеспечить высокую производительность при решении научных, инженерных и прикладных задач.
Официальный сайт: https://www.boost.org
Доступные версии на суперкомпьютере НИУ ВШЭ
module load cpp_tools/boost/v1.88.0 # Boost версии 1.88.0
Обновление версий производится по запросу пользователей.
Пользователи: Базовая кафедра физики космоса Института космических исследований РАН, любые подразделения НИУ ВШЭ.
Ключевые особенности
-
Широкий набор высококачественных библиотек, охватывающих умные указатели, многопоточность, регулярные выражения, графы, сериализацию, асинхронный ввод-вывод;
-
Интеграция с современными стандартами C++, многие компоненты стали частью официального стандарта (например,
shared_ptr
,regex
,filesystem
,thread
); -
Кроссплатформенность и переносимость, обеспечивающие стабильную работу на различных операционных системах и компиляторах;
-
Высокая производительность и оптимизация, библиотеки написаны с учётом эффективности и низкоуровневых особенностей C++;
-
Модульная архитектура, позволяющая использовать только необходимые компоненты без лишней зависимости от остального набора.
Пример использования в расчетах на суперкомпьютере
Для выполнения расчёта на суперкомпьютере необходимо подготовить скрипт-файл для очереди задач с запросом требуемых ресурсов (см. общую инструкцию по запуску задач на суперкомпьютере).
Пример простой программы
В качестве примера, напишем простую программу на C++ с использованием библиотеки Boost, где выведем её версию. Создадим файл boost.cpp со следующим содержимым:
#include <boost/version.hpp>
#include <iostream>
int main() {
std::cout << "Boost version: " << BOOST_LIB_VERSION << std::endl;
return 0;
}
Загрузим необходимые для компиляции модули:
module load gnu12 cpp_tools/boost/v1.88.0
Компилируем программу:
g++ boost_check.cpp -o boost_check
Запускаем программу:
./boost_check
Получаем следующий вывод:
Boost version: 1_88
Дополнительная информация
- Документация Boost
- Boost Wiki
- Репозиторий на GitHub
- Инструкция по работе с системой мониторинга эффективности HPC TaskMaster
Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.