УТВЕРЖДАЮ
Зам. директора института кибернетики
по учебной работе
___________
«___»_____________2016 г.
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
ТЕХНОЛОГИИ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ В БИЗНЕСЕ
НАПРАВЛЕНИЕ ООП | 09.03.04 Программная инженерия | ||
ПРОФИЛЬ | Разработка программно-информационных систем | ||
КВАЛИФИКАЦИЯ (СТЕПЕНЬ) | Бакалавр | ||
БАЗОВЫЙ УЧЕБНЫЙ ПЛАН ПРИЕМА | 2016 г. | ||
КУРС | 4 | СЕМЕСТР | 7 |
КОЛИЧЕСТВО КРЕДИТОВ | 6 | ||
КОД ДИСЦИПЛИНЫ | В. М.2.4 | ||
ВИДЫ УЧЕБНОЙ ДЕЯТЕЛЬНОСТИ И ВРЕМЕННОЙ РЕСУРС: | |||
Лекции | 32 | час. | |
Лабораторная работа | 32 | час. | |
Практические занятия | 15 | час. | |
АУДИТОРНЫЕ ЗАНЯТИЯ | 80 | час. | |
САМОСТОЯТЕЛЬНАЯ РАБОТА | 136 | час. | |
ИТОГО | 216 | час. | |
ВИД ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ | экзамен | ||
ОБЕСПЕЧИВАЮЩЕЕ ПОДРАЗДЕЛЕНИЕ | кафедра ОСУ | ||
ЗАВ. КАФЕДРОЙ ОСУ | |||
РУКОВОДИТЕЛЬ ООП | |||
ПРЕПОДАВАТЕЛЬ | |||
2016 г. | |||
˗ Цели освоения дисциплины
Код цели | Формулировка цели |
Ц1 | Подготовка выпускников к междисциплинарным научным исследованиям для решения задач, связанных процессами анализа, прогнозирования, моделирования и создания информационных процессов, технологий в рамках профессионально-ориентированных информационных систем (в экономике). |
Ц3 | Подготовка выпускников к информационному обеспечению прикладных процессов; внедрению, адаптации, настройке и интеграции проектных решений по созданию ИС, сопровождению и эксплуатации современных ИС. |
Ц5 | Подготовка выпускников к самообучению и непрерывному профессиональному самосовершенствованию |
2. Место дисциплины в структуре ООП
Дисциплина «Технологии облачных вычислений в бизнесе» относится к вариативной составляющей математического и естественно научного цикла учебных дисциплин учебного плана и входит в вариативный междисциплинарный модуль ООП В. М.2
ПРЕРЕКВИЗИТЫ у дисциплины «Технологии облачных вычислений в бизнесе» отсутствуют.
Содержание разделов дисциплины «Технологии облачных вычислений в бизнесе» согласовано с содержанием дисциплин, изучаемых параллельно (КОРЕКВИЗИТЫ):
˗ Б2.Б1.1 Математика;
˗ Б2.Б5 Информатика;
˗ Б2.В2 Компьютерный практикум.
Для изучения дисциплины «Технологии облачных вычислений в бизнесе» студент должен:
Знать:
- основы математики и алгебры;
- основы программирования.
Уметь:
- применять математические методы, вычислительную технику для решения практических задач;
- инсталлировать прикладные программы на компьютер.
Владеть:
- основами алгоритмизации;
- навыками работы с прикладными программами.
3. Результаты освоения дисциплины
В соответствии с требованиями ООП освоение дисциплины «Логика и теория алгоритмов» направлено на формирование у студентов следующих компетенций (результатов обучения), в т. ч. в соответствии с ФГОС:
Таблица 1. Составляющие результатов обучения, которые будут получены при изучении дисциплины «Технологии облачных вычислений в бизнесе»
Результат обучения | Код | Знания | Код | Умения | Код | Владения |
Р2 | З.2.5 | Теорию информационных систем в предметной области; информационные технологии в информационных системах в предметной области | У.2.5 | Информационные технологии и знания общей информационной ситуации, информационных ресурсов в предметной области | В.2.5 | Применение математических моделей и методов для анализа, расчетов, оптимизации детерминированных и случайных информационных процессов в предметной области |
Р5 | З.5.1 | Методики постановки, организации и выполнения научных исследований; методов планирования и организации научных экспериментов; методов и технологий обработки экспериментальных данных. | У.5.1 | Планировать и организовывать научные эксперименты, обрабатывать экспериментальные данные. | В.5.1 | Методами обработки экспериментальных данных. |
З.5.2 | Математических и имитационных методов моделирования, методов планирования имитационных экспериментов с моделями, методов построения моделирующих алгоритмов; методов моделирования случайных величин, событий и потоков; методов оценки точности результатов; верификации. | У.5.2 | Разрабатывать имитационную модель, экспериментировать, оценивать точность и достоверность результатов моделирования, анализировать схемные решения, использовать современные инструментальные средства и языки моделирования. | В.5.2 | Методами планирования и создания имитационной модели; методами оценки точности результатов; инструментальными средствами и языками моделирования. |
Основные знания, приобретаемые студентами в результате изучения дисциплины:
Основные умения, приобретаемые студентами в результате изучения дисциплины:
В результате освоения дисциплины «Технологии облачных вычислений в бизнесе» студентом должны быть достигнуты следующие результаты:
Таблица 2. Планируемые результаты освоения дисциплины (модуля)
Код результатов | Результат обучения (выпускник должен быть готов) |
РД1 | Применяет базовые и специальные знания в области современных информационных технологий для решения инженерных и экономических задач. |
РД2 | Проводит теоретические и экспериментальные исследования, включающие поиск и изучение необходимой научно-технической информации, математическое моделирование, проведение эксперимента, анализ и интерпретация полученных данных, в области прикладной информатики. Проводить исследования, связанные с оценкой информационной безопасности проектов. |
РД3 | Проводить анализ программного кода однопроцессорных приложений для их последующей реализации для запуска на многопроцессорной или GPU платформе. |
РД4 | Анализировать эффективность работы параллельно-распределенных приложений, трансформации процедур программы с целью повышения её производительности. |
4. Структура и содержание дисциплины
4.1. Содержание разделов дисциплины:
Тема № 1. Организация вычислений в многопроцессорных системах |
Классификация параллельных вычислительных систем. Характеристики многопроцессорных систем. Закон Амдала. Оценка эффективности параллельных вычислений. Техническая реализация многопроцессорных систем. Схемы разработки параллельных методов. |
Практическая работа № 1. Разработка параллельного алгоритма. |
Тема № 2. Базовые понятия параллельного приложения |
Процессы и потоки. Задачи. Управление созданием потоков в параллельной программе. Общие, локальные и threadprivate переменные. Использование редукции. |
Лабораторная работа № 2. Вычисление интегралов с помощью параллельных вычислений. |
Тема № 3. Разделение работ внутри параллельной программы |
Низкоуровневое распределение работ. Параллельные циклы. static, dynamic, guided, runtime стратегии диспетчеризации циклов. Распределение разнородных задач между потоками. Директива single. Комбинированная параллельно-циклическая директива. |
Лабораторная работа № 3. Операции по обработке больших массивов. |
Тема № 4. Синхронизация в параллельных вычислениях |
Явная и неявная синхронизация. Использование опции nowait. Синхронизация в параллельных циклах. Использование барьера. Критические секции. Секции atomic. Простые и множественные замки. Тестирующая установка замка. |
Лабораторная работа № 4. Управление совместной работой потоков |
Тема № 5. Анализ эффективности работы и пути повышения производительности параллельных приложений |
Оценка эффективности параллельных приложений. Оптимизация использования барьера. Устранение директив ordered. Управление количеством и размером критических областей. Устранение параллельных областей во внутренних циклах. Директива single против директивы master. Локальные переменные против разделяемых. |
Лабораторная работа № 5. Оптимизация параллельных приложений |
Тема № 6. Модель программирования в СUDA |
Программно-аппаратный стек CUDA. Иерархия нитей в CUDA. Расширения языка С. Иерархия памяти. Глобальная память. Разделяемая память и её эффективное использование. |
Лабораторная работа № 6. Фильтрация изображений с помощью GPU |
Тема № 7. Реализация в CUDA базовых операций над массивами |
Параллельная редукция. Нахождение префиксной суммы. Построение гистограмм. Сортировки данных. |
Лабораторная работа № 7. Обработка массивов GPU |
Тема № 8. Архитектура GPU. Работа с текстурной памятью |
Архитектуры GPU нескольких серий. Введение в PTX. Текстурная память. Простые преобразования цвета. Фильтрация. Свертка и масштабирование. |
Лабораторная работа № 8. Обработка видео на GPU. |
Тема № 9. Модель распределенной программы |
Операции блокирующей передачи и блокирующего приема. Использование джокеров при получении сообщений. Типы данных и их преобразование. Коммуникационные режимы. Использование буферизации. Неблокирующий обмен. Проба и отмена. |
Лабораторная работа № 9.Передача точка-точка. |
Тема № 10. Коллективная коммуникация |
Барьерная синхронизация. Широковещание. Сбор данных и рассылка. Глобальные операции редукции. MINLOC и MAXLOC. Функции All-Reduce, Reduce-Scatter и Scan. |
Лабораторная работа № 10. Коллективные обмены. |
Тема № 11. Дополнительные аспекты распределенных вычислений |
Коммуникаторы: базовые концепции. Управление группой. Управление коммуникаторами. Виртуальная топология. Топологические конструкторы. Односторонняя коммуникация. Создание новых процессов и их уничтожение. Стратегии ввода-вывода. Операции ввода-вывода. |
Лабораторная работа № 11. Управление параллельным вводом - выводом |
Тема № 12. Параллельные и распределенные гетерогенные системы |
Совместное использование технологий передачи сообщений и модели разделяемой памяти. Эффективное распределение задач между узлами и между процессорами в вычислительном узле. Использование вычислений на графических процессорных модулях и вычислительных ядрах процессоров. |
Лабораторная работа № 12. Совместное использование CPU и GPU. |
4.2. Структура дисциплины по разделам и формам организации обучения
Название раздела/темы | Аудиторная работа (час) | СРС (час) | Колл, Контр. Р. | Итого | ||
Лекции | Практ./сем. занятия | Лаб. зан. | ||||
Тема № 1. | 2 | 2 | 11 | √ | 15 | |
Тема № 2. | 2 | 2 | 11 | √ | 15 | |
Тема № 3. | 2 | 2 | 11 | √ | 15 | |
Тема № 4. | 2 | 2 | 11 | √ | 15 | |
Тема № 5. | 3 | 3 | 11 | √ | 17 | |
Тема № 6. | 3 | 3 | 11 | √ | 17 | |
Тема № 7. | 3 | 3 | 11 | √ | 17 | |
Тема № 8. | 3 | 3 | 11 | √ | 17 | |
Тема № 9. | 3 | 3 | 12 | √ | 18 | |
Тема № 10. | 3 | 3 | 12 | √ | 18 | |
Тема № 11. | 3 | 3 | 12 | √ | 18 | |
Тема № 12. | 3 | 3 | 12 | √ | 18 | |
Итого | 32 | 32 | 15 | 136 | 136 |
5. Образовательные технологии
Таблица 3.
Методы и формы организации обучения (ФОО)
ФОО Методы | Лекц. | Лаб. раб. | СРС | К. пр. |
IT-методы | Ö | Ö | Ö | Ö |
Работа в команде | Ö | Ö | ||
Игра | ||||
Обучение на основе опыта | Ö | Ö | ||
Опережающая самостоятельная работа | Ö | |||
Проектный метод | Ö | |||
Поисковый метод | Ö | |||
Исследовательский метод | Ö | Ö |
6. Организация и учебно-методическое обеспечение самостоятельной работы студентов
6.1 Текущая СРС
Текущая СРС направлена на углубление и закрепление знаний студента, развитие практических умений и включает:
˗ работа с лекционным материалом, поиск и обзор литературы и электронных источников информации по индивидуально заданной проблеме курса (в рамках выполнения расчетных работ и группового проектирования);
˗ выполнение домашних заданий, домашних контрольных работ;
˗ опережающая самостоятельная работа;
˗ изучение ресурсов, созданных на английском языке (Web-сайты, статьи по параллельным вычислениям);
˗ изучение тем, вынесенных на самостоятельную проработку;
˗ подготовка к лабораторным работам, к практическим и семинарским занятиям;
˗ подготовка к контрольной работе, экзамену.
Творческая проблемно-ориентированная самостоятельная работа
(ТСР).
˗ поиск, анализ, структурирование и презентация информации;
˗ выполнение расчетных работ;
˗ выполнение заданий в рамках группового проекта;
˗ исследовательская работа и участие в научных студенческих конференциях, семинарах и олимпиадах;
˗ анализ научных публикаций по заранее определенной преподавателем теме.
При выполнении самостоятельной работы рекомендуется использовать материалы по дисциплины, размещенные на локальном сетевом ресурсе кафедры ОСУ.
6.2. Содержание самостоятельной работы студентов по дисциплине
1. Перечень научных проблем и направлений научных исследований
- Операции блокирующей передачи и блокирующего приема. Использование джокеров при получении сообщений. Типы данных и их преобразование.
- Барьерная синхронизация. Широковещание. Сбор данных и рассылка.
- Совместное использование технологий передачи сообщений и модели разделяемой памяти. Эффективное распределение задач между узлами и между процессорами в вычислительном узле.
- Архитектуры GPU нескольких серий. Введение в PTX. Текстурная память.
-
2. Темы индивидуальных заданий (пример)
Имеется вещественная матрица размером SIZE x SIZE. С помощью функции MPI_Type_contiguous() создать пользовательский тип данных «Строка». С помощью функции MPI_Scatter процесс с номером 0 производит рассылку элементов матрицы: каждый процесс получает только одну строку. Среди аргументов функции необходимо указать: размер передаваемых данных = 1, тип данных = «Строка», размер получаемых данных = SIZE, тип данных MPI_DOUBLE. В каждом процессе распечатать полученную строку.
#include “mpi. h”
#include <stdio. h>
#include <stdlib. h>
#define SIZE 4
Int main(int argc, char *argv[])
{
float a[SIZE][SIZE] =
{ 1.0, 2.0,3.0, 4.0
1.1, 2.1, 3.1, 4.1,
1.2, 2.2, 3.2, 4.2,
1.3, 2.3, 3.3, 4.3
};
float b[SIZE];
MPI_Datatype rowtype;
MPI_Status stat;
int i, numtasks, rank;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Type_contiguous(SIZE, MPI_DOUBLE, &rowtype);
MPI_Type_commit(&rowtype);
MPI_Scatter(a,1,rowtype, b,SIZE, MPI_FLOAT,0,MPI_COMM_WORLD);
for (i=0; i<SIZE; i++)
printf ("Процесс %d значение элемента на позиции %d равно %f", rank, i, b[i]);
MPI_Type_free(&rowtype);
MPI_Finalize();
return 0;
}
3. Темы, выносимые на самостоятельную проработку.
1. Работа с текстурной памятью |
2. Технология OpenCL |
3. Неблокирующий обмен. Проба и отмена. |
4. Односторонняя коммуникация. Создание новых процессов и их уничтожение. |
5. Стратегии ввода-вывода. Операции ввода-вывода. |
6. Использование вычислений на графических процессорных модулях и вычислительных ядрах процессоров. |
6.3. Контроль самостоятельной работы
Оценка результатов самостоятельной работы организуется как единство двух форм: самоконтроль и контроль со стороны преподавателей.
При выполнении самостоятельной работы рекомендуется использовать:
Учебно-методическое обеспечение:
1. Антонов программирование с использованием технологии OpenMP: Учебное пособие. – М.: Изд-во МГУ, 2009. – 77 с.
2. Богачев параллельного программирования – М.: БИНОМ. Лаборатория знаний, 2003. – 324 с.
3. Богданов и топологии многопроцессорных вычислительных систем – М.: Интернет-университет, 2004
4. , , Основы работы с технологией CUDA – М.:ДМК Пресс, 2010. – 232 с.
Учебно-методические материалы, находящие в локальной сети кафедры ОСУ.
7. Средства текущей и промежуточной оценки качества освоения дисциплины
Текущий и итоговый контроль оценки качества освоения дисциплины осуществляется на основе рейтинг-плана, в котором в соответствии с учебным и календарным планами указаны все формы отчетности.
Для получения итоговой оценки качества освоения дисциплины проводится экзамен.
Оценка качества освоения дисциплины производится по результатам следующих контролирующих мероприятий:
Контролирующие мероприятия | Результаты обучения по дисциплине |
выполнение и защита лабораторных работ | РД3, РД4 |
выполнение и защита расчетных работ | РД3, РД4 |
выполнение и презентация групповых проектов | РД1, РД2, РД3, РД4 |
доклады по групповым работам во время конференц-недель | РД1, РД2 |
Тематические контрольные работы | РД3, РД4 |
Экзамен | РД1, РД2, РД3, РД4 |
Для оценки качества освоения дисциплины при проведении контролирующих мероприятий предусмотрены следующие средства (фонд оценочных средств):
- вопросы входного контроля;
- контрольные вопросы, задаваемые при выполнении и защитах лабораторных работ;
- вопросы для самоконтроля;
- вопросы при защите групповых работ;
- вопросы при защите расчетных работ;
- вопросы, выносимые на экзамен.
Входной контроль (пример задач)
Имеется вектор a из 40 элементов. Первую половину этого вектора нужно заполнить случайными числами по правилу: a[i]= rand()%100. Параллельная область запускается на всех доступных процессорах. Для каждого потока сформировать локальную копию вектора, оставшуюся половину вектора проинициализировать номером потока. Распечатать все вектора и номера потоков, в которых они хранятся.
Текущий контроль (пример задач)
Тема «Разделение работ внутри параллельной программы»
Функция omp_get_wtime() позволяет получать астрономическое время в секундах. Представленный ниже код демонстрирует её использование для получения времени выполнения параллельного региона.
#include <iostream>
#include <omp. h>
using namespace std;
void main()
{
double start_time, end_time;
int a[30];
omp_set_num_threads(2);
start_time = omp_get_wtime();
#pragma omp parallel
{
#pragma omp for
for(int i = 0; i<30; i++)
a[i]=i;
}
end_time = omp_get_wtime();
cout<<"Время на исполнение цикла"<< end_time-start_time;
}
Написать программу, которая на осуществляет заполнение массива a из 20 элементов по правилу a[i]=0.5*i*i-8.5*i+0.3 главной нитью (до входа в параллельный регион) и массива b из 20 элементов по такому же правилу b[i]=0.5*i*i-8.5*i+0.3 но уже в параллельной области для двух потоков. Оценить время заполнения массивов и вывести на экран имя того массива и все его элементы, который заполнился быстрее.
Посмотреть как изменилось время выполнения программы если массивы содержат 100, 1000, 50000, 100000 элементов.
Тема «Синхронизация в параллельных вычислениях»
1.Имеется двумерный массив чисел (значения производные) a с размерами 5x5. Используя параллельный цикл, сформировать массив b по следующему правилу
. В этом же цикле вывести:
а) значения b[i] в порядке их вычисления и номера потоков, вычисливших эти элементы b[i].
б)значения b[i] в порядке возрастания индекса i и номера потоков, вычисливших эти элементы b[i].
2. Имеются две функции f1(x)=x*sin(x)-2*cos(x), f2(x)=2*sin(x)-x*cos(x),. Определить сколько из этих функций при x=0.5 попадает в интервал (-1; 1). Вычисления производить на двух потоках, используя директивы sections и critical.
Тема «Коллективная коммуникация»
1.Написать MPI программу. Имеется вещественная матрица размером SIZE x SIZE. С помощью функции MPI_Type_contiguous() создать пользовательский тип данных «Строка». С помощью функции MPI_Scatter процесс с номером 0 производит рассылку элементов матрицы: каждый процесс получает только одну строку. Среди аргументов функции необходимо указать: размер передаваемых данных = 1, тип данных = «Строка», размер получаемых данных = SIZE, тип данных MPI_DOUBLE. В каждом процессе распечатать полученную строку.
2. Используя предыдущую программу 1, найти суммы элементов квадратной матрицы по столбцам используя операции редукции и переслать их а) в процесс 0, б) во все процессы.
Рубежный контроль (пример билета на экзамен)
Утверждаю Зам. директора института кибернетики по учебной работе _____________ ___________2014 г. Экзаменационный билет № 1 По дисциплине «Технологии облачный вычислений в бизнесе» Курс 4 | |
Вопрос №1. Барьерная синхнонизация в OpenMP и MPI. Вопрос №2. Использование простых замков. Задача №3. Написать программу кластеризации набора 100000 пятимерных векторов (сгенерированных случайным образом) алгоритмом Густаффсона-Кесселя. Операции вычисления расстояния Махаллонобиса, вычислений над нечеткой матрицей реализовать с помощью GPU обработки. Задача №4. Написать MPI программу. Программа выполняется на трёх процессах. Первый и второй процессы отправляют третьему массивы данных разной размерности. Третий процесс «не знает» отправителей, теги и объёма данных. Необходимо проанализировать передачу сообщения, которое доходит первым и принять данные. Затем проанализировать передачу сообщения, которое доходит вторым, начать приём и вызвать функцию отмены. Распечатать первый полученный массив. Если к моменту отмены второго сообщения данные были уже получены, то распечатать полученный второй массив иначе выдать сообщение «передача отменена». | |
Составил: доц. каф. ОСУ ______________ Зав. каф. ОСУ ______________ |
8. Рейтинг качества освоения дисциплины
Оценка качества освоения дисциплины в ходе текущей и промежуточной аттестации обучающихся осуществляется в соответствии с «Руководящими материалами по текущему контролю успеваемости, промежуточной и итоговой аттестации студентов Томского политехнического университета», утвержденными приказом ректора № 77/од от 01.01.2001 г.
В соответствии с «Календарным планом изучения дисциплины»:
˗ текущая аттестация (оценка качества усвоения теоретического материала (ответы на вопросы и др.) и результаты практической деятельности (решение задач, выполнение заданий, решение проблем и др.) производится в течение семестра (оценивается в баллах (максимально 60 баллов), к моменту завершения семестра студент должен набрать не менее 33 баллов);
˗ промежуточная аттестация (экзамен) производится в конце семестра (оценивается в баллах (максимально 40 баллов), на экзамене студент должен набрать не менее 22 баллов).
Итоговый рейтинг по дисциплине определяется суммированием баллов, полученных в ходе текущей и промежуточной аттестаций. Максимальный итоговый рейтинг соответствует 100 баллам.
9. Учебно-методическое и информационное обеспечение дисциплины
Основная:
5. Антонов программирование с использованием технологии OpenMP: Учебное пособие. – М.: Изд-во МГУ, 2009. – 77 с.
6. Богачев параллельного программирования – М.: БИНОМ. Лаборатория знаний, 2003. – 324 с.
7. Богданов и топологии многопроцессорных вычислительных систем – М.: Интернет-университет, 2004
8. , , Основы работы с технологией CUDA – М.:ДМК Пресс, 2010. – 232 с.
9. , Воеводин Вл. В. Параллельные вычисления – СПб.: БХВ-Петербург, 2002. – 270 с.
10. Гергель и практика параллельных вычислений – М.: Интернет-Университет, БИНОМ, Лаборатория знаний, 2007. – 345 с.
11. рхитектура компьютера – СПб.: Питер, 2002 – 460 с.
12. , Серикова для многопроцессорных систем в стандарте MPI: Учебник. – Минск: Изд-во БГУ, 2002. – 323 с.
13. Gropp W., Lusk E., Skjellum A. Using MPI, 2nd Edition: Portable Parallel Programming with the Message Passing Interface. Cambridge, MA, USA: MIT Press, 1999 – 310 p.
10. Pacheco P. Parallel Programming with MPI. New York: Morgan Kaufmann, 1997. - 500 p.
11. Freeman Adam 4 Parallel Programming in C# - New York: Apress, 2010. – 311 p.
Дополнительная:
1. Эндрюс многопоточного, параллельного и распределенного программирования: М.: Издательский дом «Вильямс», 2003. – 512 с.
2. Hoffman S., Lienhart R. Informatik im focus. OpenMP: - Berlin: Springer, 164 s.
3. Snir M., Otto S., Huss-Lederman S., Walker I. MPI—The Complete Reference: Volume 1, The MPI Core. Cambridge, MA: MIT Press, 1998. – p.310.
4. Quinn M. J. Parallel Programming in C with MPI and OpenMP New York: McGraw-Hill Inc. 2004. – p. 276.
5. Chandra R., Menon R., Dagum L., Kohr D., Maydan D., McDonald J., Parallel Programming in OpenMP. New York: Morgan Kaufmann, 2008. – p 368.
6. Chapman B., Jost G., van der Pas R. Using OpenMP portable shared memory parallel programming. Cambridge, MA, MIT Press, 2008. – p.353.
Internet-ресурсы:
· Учебно-методические материалы, находящие в локальной сети кафедры ОСУ.
· Официальный сайт компании NVIDIA. CUDA Technology. URL: http://www.
· Официальный сайт стандарта MPI. Message Passing Interface Forum. URL: http://mpi-forum. org
· Официальный сайт спецификации стандарта OpenMP. The OpenMP API specification. URL: http://openmp. org
· Раздел официального сайта корпорации Microsoft, посвященный параллельным вычислениям с помощью технологий. NET. Design Patterns for Decomposition and Coordination on Multicore Architectures. URL: http://msdn. /en-us/library/ff963553.aspx
· Официальная страница стандарта OpenCL. OpenCL – The open standard for parallel programming of heterogeneous systems. URL: http://www. khronos. org/opencl/
· Страница университета Индианы, посвященная стандарту . : High-Performance C# Library for Message Passing. URL: http:// http://osl. iu. edu/research//
Используемое программное обеспечение
1. Система разработки приложений Visual Studio, Matlab, GCC, Torque, Cleo
10. Материально-техническое обеспечение модуля (дисциплины)
Наименование | Адрес, учебный корпус, аудитория |
Вычислительный кластер (Кластер ТПУ-СКИФ1: 24 вычислительных узла, 48 процессоров Intel Xeon 5150, ядер 96 (2.66 GHz), общий объем оперативной памяти 192 Gb., общий объем HDD 2880 Gb, объем системы хранения данных 5 Tb. Пиковая производительность 1.02TFlops., Кластер ТПУ-СКИФ2: 39 вычислительных узлов, 78 процессоров Nehalem 4C X5570, ядер 320 (2.9 GHz), общий объем оперативной памяти 479 Gb., общий объем HDD 19500 Gb. Пиковая производительность 3.01TFlops). | 634034, Томск, /3, Институт Кибернетики ТПУ, ауд.204 |
Программа составлена на основе Стандарта ООП ТПУ в соответствии с требованиями ФГОС по направлению и профилю подготовки 09.03.04 «Программная инженерия», профиль подготовки «Разработка программно-информационных систем».
Программа одобрена на заседании кафедры ОСУ ИК,
протокол № от 2016 г.
Автор: ________________ Доцент каф. ОСУ
Рецензент: _________________ Доцент каф. ОСУ



