- •Содержание
- •Глава 1. Обзор литературы и постановка задачи 8
- •1.4 Модели программирования 41
- •6.4.10 Мероприятия и средства по защите окружающей среды 103
- •Введение
- •Глава 1. Обзор литературы и постановка задачи
- •1.1 Высокопроизводительные вычисления
- •1.2 Архитектура суперкомпьютеров.
- •1.2.1 Коммуникационные среды.
- •1.2.2 Топология соединительной сети суперкомпьютеров
- •1.2.3 Обзор коммуникационных сред
- •1.3. Программное обеспечение
- •1.3.1 Классификация ос
- •1.3.2Компиляторы
- •1.3.3 Компилятор gnu Compiler Collection
- •1.3.6 Библиотеки для программирования параллельных вычислений.
- •1.3.7 Библиотеки программирования вMpi,cudAиshmem.
- •1.4 Модели программирования
- •1.4.1 Модель передачи сообщенийMpi
- •1.4.2 ТехнологияOpenMp
- •1.4.3 Технология: shmem.
- •1.5 Постановка задачи.
- •Глава 2. Разработка Алгоритма тестирования
- •2.1 Алгоритм теста латентности и коммуникационной производительности.
- •2.2. Блок схема алгоритма
- •Глава 3. Разработка программного обеспечения
- •3.1 Описание и состав суперкомпьютера «эск-е»
- •3.2 Функциональная схема коммуникационной среды.
- •3.3 Основная конфигурацияPci
- •Коммуникационная среда pci Express
- •3.4 Текст программы
- •3.4.1 Объяснение значений параметров тестового по.
- •Глава 4. Экспериментальные исследования
- •Глава 5. Организационно – экономическая часть.
- •5.1. Технико-экономическое обоснование объекта проектирования.
- •5.2. Состав конструкторской группы и их должностные оклады.
- •5.3. Перечень этапов опытно-конструкторских работ при разработке программного обеспечения.
- •5.4. Расчёт сметы затрат на окр при разработке программного обеспечения.
- •5.5. Вывод
- •Глава 6. Безопасность и экологичность проектных решений
- •6.1. Цель и решаемые задачи
- •6.2. Опасные и вредные факторы при работе с пэвм
- •6.3. Характеристика объекта исследования
- •6.4. Мероприятия по безопасности труда и сохранению работоспособности.
- •6.4.1. Обеспечение требований эргономики и технической эстетики
- •6.4.1.1. Планировка помещения и размещение оборудования
- •6.4.1.2. Эргономические решения по организации рабочего места пользователя пэвм
- •6.4.1.3. Цветовое оформление помещения
- •6.4.2. Обеспечение оптимальных параметров воздуха рабочих зон
- •6.4.2.1. Нормирование параметров микроклимата
- •6.4.2.2. Нормирование уровней вредных химических веществ
- •6.4.2.3. Нормирование уровней аэроионизации
- •6.4.3. Создание рационального освещения
- •6.4.4 Защита от шума
- •6.4.5 Обеспечение режимов труда и отдыха
- •6.4.6. Обеспечение электробезопасности
- •6.4.7. Защита от статического электричества
- •6.4.8. Обеспечение допустимых уровней электромагнитных полей
- •6.4.9 Обеспечение пожаробезопасности
- •6.4.9.1 Обеспечение безопасной эвакуации персонала
- •6.4.9.2 Средства извещения и сигнализации о пожаре.
- •6.4.9.3 Способы и средства тушения пожара
- •Пути снижения выбросов и токсичности: стимулом к сокращению объёмов предполагается заинтересованность в сокращении расхода топлива.
- •6.4.10.1 Утилизация компьютеров и оргтехники
- •6.5. Инженерные расчеты
- •6.5.1. Расчет эвакуационного выхода.
- •Заключение
1.3.2Компиляторы
Компиля́тор —
Программаили техническое средство, выполняющеекомпиляцию.
Машинная программа, используемая для компиляции.
Программа, переводящая текст программы на языке высокого уровняв эквивалентную программу намашинном языке.
Программа, предназначенная для трансляции высокоуровневого языка в абсолютный кодили, иногда, в язык ассемблера. Входной информацией для компилятора (исходный код) является описание алгоритма или программа напроблемно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма намашинно-ориентированном языке(объектный код).
Программа выполняющая (после трансляции) компоновку программы.
Компиляция —
трансляция программы на язык, близкий к машинному и последующая её компоновка.
трансляция программы, составленной на исходном языке, в объектный модуль (осуществляется компилятором) и последующая её компоновка в готовый к использованию программный модуль.
трансляция программы, составленной на исходном языке, и последующая её компоновка в программу на некоем машинонезависимом низкоуровневом интерпретируемом коде (как например в случае языка Java).
1.3.3 Компилятор gnu Compiler Collection
GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторовдля различныхязыков программирования, разработанный в рамкахпроекта GNU. GCC являетсясвободным программным обеспечением, распространяетсяфондом свободного программного обеспечения(FSF) на условияхGNU GPLиGNU LGPLи является ключевым компонентомGNU toolchain. Он используется как стандартный компилятор для свободныхUNIX-подобных операционных систем. Изначально названныйGNU C Compiler, он поддерживал только язык Си. Позднее, GCC был расширен для компиляции исходных кодов на таких языках программирования какC++,Objective-C,Java,ФортраниAda.
Внешний интерфейс GCC является стандартом для компиляторов на платформе UNIX. Пользователь вызывает управляющую программу, которая называется gcc. Она интерпретирует аргументы командной строки, определяет и запускает для каждого входного файла свои компиляторы нужного языка, запускает, если необходимо, ассемблерикомпоновщик.
Компилятор каждого языка является отдельной программой, которая получает исходный тексти порождает вывод наязыке ассемблера. Все компиляторы имеют общую внутреннюю структуру: front end, который производитсинтаксический разбори порождаетабстрактное синтаксическое дерево, и back end, который конвертирует дерево вRegister Transfer Language(RTL), выполняет различные оптимизации, затем порождает программу на языке ассемблера, используя архитектурно-зависимоесопоставление с образцом. GCC почти полностью написан наСи.
1.3.4 Компилятор g++
g++ — традиционное обозначение GNU C++, свободно распространяемого компилятора языка C++. Является частью GCC — коллекции компиляторов GNU. На операционных системах Unix, команда gcc обычно используется для вызова компилятора GCC, как и команда g++. По умолчанию язык программирования C или C++ определяется по расширению компилируемого файла(см. g++ --help описание параметра -x). Но при этом G++ все равно является компилятором, а не просто препроцессором. G++ строит объектный код напрямую из исходного C++ кода, без использования промежуточной С-версии (в отличие от некоторых компиляторов, которые создают объектный код Си из исходников, написанных на C++). Это позволяет получать более полную и точную информацию о работе программы при отладке (например, при использовании GDB).
1.3.5 КомпиляторIntelC++compiler
Intel C++ compiler — оптимизирующий компилятор, разрабатываемый фирмой Intel для процессоров семейств x86, x86-64 и IA-64. Главным достоинством компилятора являются выполняемые им высокоуровневые, а также целевые оптимизации под процессоры Intel. Компилятор работает под ОС Linux, Windows, Mac OS X.
Основные возможности:
Высокоуровневая оптимизация
Межпроцедурная оптимизация
Автоматическое распараллеливание кода
Векторизация для SSE, SSE2, SSE3, SSE4
Оптимизация с учетом профильной информации (англ. Profile-guided optimization)
Компилятор поддерживает стандарт OpenMP 3.0 для написания параллельных программ. Также содержит модификацию OpenMP под названием Cluster OpenMP, при помощи которой можно запускать OpenMP приложения на кластерах используя MPI.
Существует 4 продукта от Intel, включающих компилятор: Intel Parallel Studio, Intel C++ Compiler Professional Edition, Intel Compiler Suite package, Intel Cluster Toolkit (Compiler Edition).
К недостаткам Linux версии компилятора можно отнести частичную несовместимость с gnu-расширениями языка Си (поддерживаемые компилятором GCC), что может вызвать проблемы при компиляции некоторых программ.