Русская Википедия:Blitz++

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы Blitz++ — высокопроизводительная библиотека функций векторной математики, написанная на C++.

Особенности

Данная библиотека была разработана для выполнения научных расчетов и обеспечивает производительность наравне с Fortran 77/90.

Blitz++ использует шаблоны C++, которые обеспечивают компилятор метаинформацией, позволяющей получить на выходе хорошо оптимизированный код. В результате этого, обеспечивается высокая скорость выполнения математических операций над массивами данных, без ущерба для синтаксиса программы, чем не могут похвастаться другие подобные математические программные системы. Библиотека Blitz++ признана пионером в использовании этого способа метапрограммирования.[1]

В библиотеке поддерживаются операции с матрицами, тензорами и векторами. Имеется реализация генератора случайных чисел. Размерность для массивов ограничена 11-ю измерениями. При этом, поддерживается сортировка массивов как в стиле C, так и в стиле Fortran.[2]

История развития

Проект начался в Vision and Image Processing Lab — одной из лабораторий кафедры проектирования инженерных систем университета Ватерлоо и был поддержан как часть en:Natural Sciences and Engineering Research Council при программе PGS A.

В начале 1998-х Future Technologies Group в en:National Energy Research Scientific Computing Center предоставила доступ к своим суперкомпьютерам для тестирования производительности и бенчмаркинга. В дальнейшем, разработка библиотеки продолжилась в Extreme Computing Laboratory Индианского университета в Блумингтоне.

В настоящее время, работы над библиотекой ведутся в Open Systems Laboratory Индианского университета в Блумингтоне.

Проекты

Библиотека Blitz++ используется в нескольких научных проектах, таких как, например:

Примечания

Шаблон:Примечания

См. также

Ссылки