94 lines
No EOL
5.6 KiB
Typst
94 lines
No EOL
5.6 KiB
Typst
#set text(
|
||
font: "Times New Roman",
|
||
size: 14pt,
|
||
lang: "ru"
|
||
)
|
||
|
||
#show heading: set text(size: 14pt)
|
||
|
||
#set page(
|
||
paper: "a4",
|
||
margin: (
|
||
top: 2cm,
|
||
bottom: 2cm,
|
||
left: 3cm,
|
||
right: 1cm
|
||
),
|
||
|
||
numbering: "1"
|
||
)
|
||
|
||
#set heading(
|
||
numbering: "1.1.1.1",
|
||
)
|
||
#show heading.where(level: 1): set block(below: 2em)
|
||
|
||
#set par(
|
||
justify: true,
|
||
leading: 1em,
|
||
first-line-indent: (
|
||
amount: 1.25cm,
|
||
all: true
|
||
),
|
||
)
|
||
|
||
#show "〜": h(1.25cm)
|
||
|
||
#align(
|
||
center,
|
||
outline(
|
||
title: "СОДЕРЖАНИЕ"
|
||
)
|
||
)
|
||
|
||
#pagebreak()
|
||
|
||
#align(
|
||
center,
|
||
heading(
|
||
numbering: none,
|
||
"Введение"
|
||
)
|
||
)
|
||
|
||
*Актуальность темы*: развитие технологий тесно связано с ростом объёмов обрабатываемых данных, особенно в сфере искусственного интеллекта. В связи с этим история высокопроизводительных вычислений становится как никогда актуальной. Рост массивов данных, развитие ИИ и необходимость ускорения вычислений делают историю языков и моделей программирования для HPC особенно важной. Эволюция подходов позволяет оптимизировать параллельные вычисления на суперкомпьютерах и ускорителях вроде GPU. Ограничения аппаратного обеспечения и растая сложность задач, требующих распределённой обработки, ведут к появлению новых вычислительных моделей.
|
||
|
||
Первым высокоуровневым языком для HPC стал Fortran, разработанный IBM в 1954 году под руководством Джона Бэкуса, который обеспечил эффективность на быстро эволюционирующем оборудовании и остаётся стандартом для бенчмарков TOP500@noauthor_frequently_nodate. В 1960–1970-х годах последовательное программирование уступило место параллельным подходам из-за роста многоядерных систем@noauthor_history_nodate.
|
||
|
||
В контексте развития высокопроизводительных вычислений особую роль сыграли параллельные модели и языки программирования. Уже в 1990-е годы сформировались ключевые подходы -- *message passing* и *shared memory*@noauthor_mpi_nodate. Стандарт MPI (1994 @noauthor_mpi_nodate) стал основой для распределённых систем и фактически закрепился как де-факто стандарт параллельных вычислений на кластерах. Параллельно развивался OpenMP (1997 -- для Fortran и 1998 -- для C/C++), ориентированный на многопоточное программирование для многоядерных CPU.
|
||
|
||
Следующий значимый этап связан с появлением GPU-программирования. В 2007 году NVIDIA представила CUDA@noauthor_cuda_nodate, впервые предложив удобную модель для унифицированных вычислений на GPU. Её развитие было дополнено открытым стандартом OpenCL@noauthor_opencl_nodate (2008), получившим поддержку NVIDIA и AMD. Параллельно появился Chapel -- язык, создававшийся Cray в рамках программы DARPA HPCS (2002–2012) и ориентированный на высокопроизводительную параллельность в масштабах суперкомпьютеров@balaji_chapel_2015. Эти модели существенно расширили возможности обработки данных, обеспечив переносимость и адаптивность к гетерогенным вычислительным системам.
|
||
|
||
В итоге эволюция -- от классических решений вроде Fortran до современных GPU-ориентированных моделей CUDA и OpenCL -- значительно упростила разработку высокопроизводительных алгоритмов. Смещение парадигм в сторону *параллелизма данных* и *гетерогенных вычислений* определяет современное состояние HPC и формирует требования к моделям программирования будущего.
|
||
|
||
#pagebreak()
|
||
|
||
#align(
|
||
center,
|
||
heading(
|
||
numbering: none,
|
||
"СПИСОК СОКРАЩЕНИЙ"
|
||
)
|
||
)
|
||
|
||
ИИ -- искуственный интеллект
|
||
|
||
HPC (High-Performance Computing) -- высокопроизводительные вычисления
|
||
|
||
GPU (Graphics Processing Unit) -- графический процессор
|
||
|
||
#pagebreak()
|
||
|
||
#align(
|
||
center,
|
||
heading(
|
||
numbering: none,
|
||
"СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ"
|
||
)
|
||
)
|
||
|
||
#bibliography(
|
||
"references.bib",
|
||
title: none,
|
||
style: "gost-r-7-0-5-2008-numeric-alphabetical.csl"
|
||
) |