Русская Википедия: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++ используется в нескольких научных проектах, таких как, например:
- Sunrise Шаблон:Wayback — расчет поглощения и рассеяния света для нужд астрофизики
- C++QED — открытый фреймворк для симуляции динамики квантовых процессов[3]
- Helios Шаблон:Wayback — гирокинетический симулятор поведения плазмы в ядре установки типа Токамак
Примечания
См. также
- Matrix Template Library (MTL)
- Basic Linear Algebra Subprograms (BLAS)
- Iterative Template Library (ITL)
Ссылки
- Домашняя страница проекта Шаблон:WaybackШаблон:Ref-en (c Шаблон:Date сайт на частичной реконструкции)
- Страница проекта на Шаблон:Wayback SourceForge