Заочные электронные конференции
 
     
реализоват функций пакета MPI
Аль-хулайди Абдулмаджид Ахмед Галеб


Для чтения PDF необходима программа Adobe Reader
GET ADOBE READER

РЕАЛИЗОВАТЬ функциЙ ПАКЕТА MPI.

АВТОР: Аль-хулайди Абдулмаджид Ахмед Галеб

1- MPI_Init(&argc, &argv);

//функция инициализации – создает коммуникационное пространство, вызов обязателен.

2- MPI_Finalize();

// функция освобождения коммуникационного пространства

3- int MPI_Comm_size(MPI_Comm comm, int *size)

//функция присваивает переменной size количество процессов

4- int MPI_Comm_rank(MPI_Comm comm, int *rank)

//функция присваивает переменной rank номер процесса

5- // Блокирующая передача осуществляется с помощью функции MPI_Send.

6- //Функция MPI_Recv реализует блокирующий прием данных.

7- MPI_ERRORS_ARE_FATAL - обработчик, который после вызова прерывает работу программы на всех процессах.

8- MPI_ERRORS_RETURN - обработчик не делает ничего, кроме представления кода ошибки пользователю.

9- MPI_NULL_COPY_FN есть функция, которая не делает ничего другого, кроме возвращения flag = 0 и MPI_SUCCESS.

10- MPI_DUP_FN есть простая функция копирования, которая устанавливает flag = 1, возвращает значение attribute_val_in в attribute_val_out и возвращает

MPI_SUCCESS.

11- MPI_NULL_DELETE_FN не делает ничего другого, кроме возвращения MPI_SUCCESS.

12- MPI_COMM_DUP, вызываются (в произвольном порядке) все установленные на этот момент функции обратного вызова для копирования атрибутов. Всякий раз, когда коммуникатор удаляется функцией MPI_COMM_FREE, вызываются все установленные функции обратного вызова для удаления атрибутов.

13- MPI_COMM_DUP_FN

Возвращает значение attribute_val_in в attribute_val_out и устанавливает MPI_SUCCES

14-MPI_COMM_NULL_COPY_FN Возвращает flag = false и MPI_SUCCES

15- MPI_ABORT(comm, errorcode ) Прекращает выполнение операций

16- MPI_ADDRESS(location, address) Устарела, вместо нее используется MPI_GET_ADDRESS

17- MPI_ALLGATHER(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) Собирает данные от всех процессов и распределяет их всем процессам.

18- MPI_ALLGATHERV(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)Собирает данные от всех процессов и поставляет их всем процессам

19- MPI_ALLREDUCE(sendbuf, recvbuf, count, datatype, op, comm)

Выполняет глобальную операцию над данными от всех процессов и результат посылает обратно всем процессам.

20- MPI_ALLTOALL(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) Посылает данные от всех процессов всем процессам

21- MPI_ALLTOALLV (sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) Посылает данные от всех процессов всем процессам со смещением

22- MPI_ATTR_DELETE (comm, keyval) Удаляет связанное с ключем значение. Устарела, вместо нее используется MPI_COMM_DELETE_ATTR

23- MPI_ATTR_GET(comm, keyval, attribute_val, flag)

Обрабатывает значение атрибута по ключу

Устарела, вместо нее используется MPI_COMM_GET_ATTR

24- MPI_ATTR_PUT(comm, keyval, attribute_val)

Хранит связанное с ключом значение атрибута

Устарела, вместо нее используется MPI_COMM_ SET_ATTR

25- MPI_BARRIER ( comm ) Блокирует дальнейшее исполнение, пока все процессы не достигнут этой функции

26- MPI_BCAST( buffer, count, datatype, root, comm )

Широковещательная рассылка сообщения от одного процесса всем

27- MPI_BSEND (buf, count, datatype, dest, tag, comm)

Основная операция посылки сообщения с определенным пользователем буфером

28- MPI_BSEND_INIT (buf, count, datatype, dest, tag, comm, request)

дескриптор для буферизованной посылки.

29- MPI_BUFFER_ATTACH ( buffer, size) Создает определяемый пользователем буфер для посылки

30- MPI_BUFFER_DETACH ( buffer_addr, size) Удаляет существующий буфер.

31- MPI_CANCEL (request) Отменяет коммуникационный запрос.

32- MPI_CART_COORDS (comm, rank, maxdims, coords)

Определяет координаты процесса в картезианской топологии в соответствии с его номером.

33- MPI_CART_CREATE (comm_old, ndims, dims, periods, reorder, comm_cart) Создает новый коммуникатор по заданной топологической информации.

34- MPI_CART_GET (comm, maxdims, dims, periods, coords)

Получает связанную с коммуникатором информацию о картезианской топологии.

35- MPI_CART_MAP (comm, ndims, dims, periods, newrank)

Отображает процесс в соответствии с топологической информацией.

36- MPI_CART_RANK (comm, coords, rank)

Определяет номер процесса в коммуникаторе с картезианской топологией.

37- MPI_CART_SHIFT (comm, direction, disp, rank_source, rank_dest)

Возвращает новые номера процессов отправителя и получателя после сдвига в заданном направлении.

38- MPI_CART_SUB (comm, remain_dims, newcomm)

Разделяет коммуникатор на подгруппы, которые формируют картезианские решетки меньшей размерности.

39- MPI_CARTDIM_GET (comm, ndims)

Получает информацию о связанной с коммуникатором картезианской топологии.

40- MPI_COMM_COMPARE (comm1, comm2, result)

Сравнивает два коммуникатора.

41- MPI_COMM_CREATE (comm, group, newcomm)

Создает новый коммуникатор.

42- MPI_COMM_CREATE_ERRHANDLER (function, errhandler)

MPI-2:создает обработчик ошибок в стиле MPI.

43- MPI_COMM_CREATE_KEYVAL (Comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)

MPI-2: генерирует новый ключ атрибута.

44- MPI_COMM_DELETE_ATTR (comm,comm_keyval)

MPI-2: удаляет связанное с ключом значение атрибута.

45- MPI_COMM_DUP (comm, newcomm)

Создает новый коммуникатор путем дублирования существующего со всеми его параметрами.

46- MPI_COMM_FREE (comm) Маркирует коммуникатор для удаления.

47- MPI_COMM_FREE_KEYVAL (comm_keyval) MPI-2:освобождает ключ атрибута.

48- MPI_COMM_GET_ATTR (comm,comm_keyval, attribute, flag)

MPI-2: получает значение атрибута по ключу.

49- MPI_COMM_GET_ERRHANDLER (comm, errhandler)

MPI-2:Получает обработчик ошибок для коммуникатора.

50- MPI_COMM_GROUP (comm, group)

Осуществляет доступ к группе, связанной с данным коммуникатором

51- MPI_COMM_RANK (comm, rank) Определяет номер процесса в коммуникаторе.

51- MPI_COMM_REMOTE_GROUP (comm, group) Возвращает удаленную группу в коммуникатор.

52- MPI_COMM_REMOTE_SIZE (comm, size) Возвращает номер процесса в удаленной группе.

53- MPI_COMM_SET_ATTR (comm, comm_keyval, attribute_val)

Запоминает связанное с ключом значение атрибута.

54- MPI_COMM_SET_ERRHANDLER (comm, errhandler)

MPI-2: устанавливает обработчик ошибок для коммуникатора.

55- MPI_COMM_SIZE (comm, size) Определяет размер связанной с коммуникатором группы.

56- MPI_COMM_SPLIT (comm, color, key, newcomm)

Создает новый коммуникатор на основе признаков и ключей.

57- MPI_COMM_TEST_INTER (comm, flag)

Проверяет, является ли данный коммуникатор интеркоммуникатором.

58- MPI_DIMS_CREATE (nnodes, ndims, dims) Распределяет процессы по размерностям.

59- MPI_ERRHANDLER_CREATE ( function, errhandler ) Создает обработчик ошибок в стиле MPI Устарела, вместо нее используется MPI_COMM_CREATE_ERRHANDLER.

60- MPI_ERRHANDLER_FREE ( errhandler )

Освобождает обработчик ошибок в стиле MPI.

61- MPI_ERRHANDLER_GET ( comm, errhandler )

Создает обработчик ошибок для коммуникатора.

62- MPI_ERRHANDLER_SET ( comm, errhandler )

Устанавливает обработчик ошибок для коммуникатора

Устарела,вместо нее используется MPI_COMM_SET_ERRHANDLER.

63- MPI_ERROR_CLASS ( errorcode, errorclass ) Преобразует код ошибки в класс ошибки.

64- MPI_ERROR_STRING ( errorcode, string, resultlen ) Возвращает строку для кода данной ошибки.

65- MPI_FINALIZE ( ) Завершает выполнение программы MPI.

66- MPI_ GATHER ( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) Собирает в один процесс данные от группы процессов.

67- MPI_GATHERV ( sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) Векторный вариант функции GATHER.

68- MPI_GET_ADRESS (location, address) MPI-2: получает адрес ячейки в памяти.

69- MPI_GET_COUNT (status, datatype, count) Получает номер старших элементов.

70- MPI_GET_ELEMENTS ( status, datatype, count)

Возвращает номер базового элемента в типе данных.

71- MPI_GET_PROCESSOR_NAME ( name, resultlen )

Получает номер процессора.

72- MPI_GET_VERSION (version, subversion) Возвращает версию MPI.

73- MPI_GRAPH_CREATE (comm_old, nnodes, index, edges, reorder, comm_graph) Создает новый коммуникатор согласно топологической информации.

74- MPI_GRAPH_GET(comm, maxindex, maxedges, index, edges)

Получает информацию о связанной с коммуникатором графовой топологии.

75- MPI_GRAPH_MAP (comm, nnodes, index, edges, newrank)

Размещает процесс согласно информации о топологии графа.

76- MPI_GRAPH_NEIGHBORS_COUNT(comm, rank, nneighbors)

Возвращает число соседей узла в графовой топологии.

77- MPI_GRAPH_NEIGHBORS (comm, rank, maxneighbors, neighbors)

Возвращает соседей узла в графовой топологии.

78- MPI_GRAPHDIMS_GET (comm, nnodes, nedges)

Получает информацию о связанной с коммуникатором топологии.

79- MPI_GROUP_COMPARE (group1, group2, result) Сравнивает две группы.

80- MPI_GROUP_DIFFERENCE (group1, group2, newgroup)

Создает группу по разности двух групп.

81- MPI_GROUP_EXCL (group, n, ranks, newgroup)

Создает группу путем переупорядочивания существующей группы и отбора только тех элементов, которые не указаны в списке.

82- MPI_GROUP_FREE (group) Освобождает группу.

83- MPI_GROUP_INCL (group, n, ranks, newgroup)

Создает группу путем переупорядочивания существующей группы и отбора только тех элементов, которые указаны в списке.

84- MPI_GROUP_INTERSECTION (group1, group2, newgroup)

Создает группу на основе пересечения двух групп.

85- MPI_GROUP_RANGE_EXCL (group, n, ranges, newgroup)

Создает группу путем исключения ряда процессов из существующей группы.

86- MPI_GROUP_RANGE_INCL (group, n, ranges, newgroup)

Создает новую группу из ряда номеров существующей группы.

87- MPI_GROUP_RANK (group, rank) Возвращает номер процесса в данной группе.

88- MPI_GROUP_SIZE (group, size) Возвращает размер группы.

89- MPI_GROUP_TRANSLATE_RANKS (group1, n, ranks1, group2, ranks2) Переводит номер процесса в одной группе в номер в другой группе.

90- MPI_GROUP_UNION(group1, group2, newgroup) Создает новую группу путем объединения двух групп.

91- MPI_IBSEND (buf, count, datatype, dest, tag, comm, request) Запускает неблокирующую буферизованную посылку.

92- MPI_INIT ( ) Инициализация параллельных вычислений.

93- MPI_INITIALIZED ( flag ) Указывает, был ли выполнен MPI_INIT.

94- MPI_INTERCOMM_CREATE (local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) Создает интеркоммуникатор из двух интракоммуникаторов.

95- MPI_INTERCOMM_MERGE (intercomm, high, newintracomm)

Создает интракоммуникатор из интеркоммуникатора.

96- MPI_IPROBE (source, tag, comm, flag, status) Неблокирующий тест сообщения.

97- MPI_IRECV (buf, count, datatype, source, tag, comm, request)

Начинает неблокирующий прием.

98- MPI_IRSEND (buf, count, datatype, dest, tag, comm, request)

Запускает неблокирующую посылку по готовности.

99- MPI_ISEND (buf, count, datatype, dest, tag, comm, request)

Запускает неблокирующую посылку.

100- MPI_ISSEND (buf, count, datatype, dest, tag, comm, request)

Запускает неблокирующую синхронную передачу.

101- MPI_KEYVAL_CREATE (copy_fn, delete_fn, keyval, extra_state)

Генерирует новый ключ атрибута Устарела, вместо нее используется MPI_COMM_CREATE_KEYVAL.

102- MPI_KEYVAL_FREE (keyval) Освобождает ключ атрибута

Устарела, вместо нее используется MPI_COMM_FREE_KEYVAL.

103- MPI_OP_CREATE ( function, commute, op)

Создает определенный пользователем дескриптор функции.

104- MPI_OP_FREE ( op) Освобождает определенный пользователем дескриптор функции.

105- MPI_PACK (inbuf, incount, datatype, outbuf, outsize, position, comm)

Упаковывает данные в непрерывный буфер.

106- MPI_PACK_SIZE (incount, datatype, comm, size)

Возвращает размер, необходимый для упаковки типа данных.

107- MPI_PCONTROL (level, ...) Управляет профилированием.

108- MPI_PROBE (source, tag, comm, status) Блокирующий тест сообщения.

109- MPI_RECV (buf, count, datatype, source, tag, comm, status)

Основная операция приема.

110- MPI_RECV_INIT(buf, count, datatype, source, tag, comm, request)

Создает дескриптор для приема.

111- MPI_REDUCE ( sendbuf, recvbuf, count, datatype, op, root, comm)

Выполняет глобальную операцию над значениями всех процессов и возвращает результат в один процесс.

112- MPI_REDUCE_SCATTER ( sendbuf, recvbuf, recvcounts, datatype, op, comm) Выполняет редукцию и рассылает результаты.

113- MPI_REQUEST_FREE (request)

Освобождает объект коммуникационного запроса.

114- MPI_RSEND (buf, count, datatype, dest, tag, comm) Операция посылки по готовности.

115- MPI_RSEND_INIT (buf, count, datatype, dest, tag, comm, request)

Создает дескриптор для посылки по готовности.

116- MPI_SCAN ( sendbuf, recvbuf, count, datatype, op, comm )

Вычисляет частичную редукцию данных на совокупности процессов.

117- MPI_SCATTER ( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root,comm) Рассылает содержимое буфера одного процесса всем процессам в группе.

118- MPI_SCATTERV( sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) Рассылает части буфера одного процесса всем процессам в группе.

119- MPI_SEND_INIT (buf, count, datatype, dest, tag, comm, request)

Создает дескриптор для стандартной посылки.

120- MPI_SENDRECV (sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) Посылает и принимает сообщение.

121- MPI_SENDRECV_REPLACE (buf, count, datatype, dest, sendtag, source, recvtag,comm, status) Посылает и принимает сообщение, используя один буфер.

122- MPI_SSEND_INIT (buf, count, datatype, dest, tag, comm, request)

Создает дескриптор для синхронной передачи.

123- MPI_STARTALL (count, array_of_requests) Запускает совокупность запросов

124- MPI_TEST(request, flag, status) Проверяет завершение посылки или приема.

125- MPI_TESTALL (count, array_of_requests, flag, array_of_statuses)

Проверяет завершение всех ранее начатых операций обмена.

126- MPI_TESTANY (count, array_of_requests, index, flag, status)

Проверяет завершение любой ранее начатой операции.

127- MPI_TESTSOME (incount, array_of_requests, outcount, array_of_indices,array_of_statuses) Проверяет завершение заданных операций.

128- MPI_TEST_CANCELLED (status, flag) Проверяет отмену запроса.

129- MPI_TOPO_TEST (comm, status) Определяет тип связанной с коммуникатором топологии.

130- MPI_TYPE_COMMIT(datatype) Объявляет тип данных.

131- MPI_TYPE_CONTIGUOUS (count, oldtype, newtype)

Создает непрерывный тип данных.

132- MPI_TYPE_EXTENT(datatype, extent) Создает экстент типа данных.

133- MPI_TYPE_FREE (datatype) Отмечает объект типа данных для удаления.

134- MPI_TYPE_HINDEXED ( count, array_of_blocklengths, array_of_displacements,oldtype, newtype) MPI-2: создает индексированный тип данных со смещением в байтах.

135- MPI_TYPE_HVECTOR ( count, blocklength, stride, oldtype, newtype)

MPI-2: создает векторный тип данных со смещением в байтах.

136- MPI_TYPE_INDEXED ( count, array_of_blocklengths, array_of_displacements, oldtype, newtype) Создает индексированный тип данных.

137- MPI_TYPE_LB ( datatype, displacement)

Возвращает нижнюю границу типа данных

Устарела, используется MPI_TYPE_GET_EXTENT.

138- MPI_TYPE_SIZE (datatype, size)

Возвращает число байтов, занятых элементами типа данных.

140- MPI_TYPE_STRUCT (count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) Создает новый тип данных Устарела, используется MPI_TYPE_CREATESTRUCT.

141- MPI_TYPE_UB ( datatype, displacement)

Возвращает верхнюю границу типа данных

Устарела, используется MPI_TYPE_GET_EXTENT.

142- MPI_UNPACK (inbuf, insize, position, outbuf, outcount, datatype, comm) Распаковывает данные из непрерывного буфера.

143- MPI_WAIT (request, status) Ожидает завершения посылки или приема.

144- MPI_WAITANY (count, array_of_requests, index, status)

Ожидает завершения любой из описанных посылки или приема.

145- MPI_WAITSOME (incount, array_of_requests, outcount, array_of_indices, array_of_statuses) Ожидает завершения некоторых заданных обменов.

146- MPI_WTIME ( )

Возвращает полное время выполнения операций на используемом процессоре.

147- MPI_COMM_NULL_COPY_FN Возвращает flag = false и MPI_SUCCES.

148- MPI_COMM_DUP_FN

Возвращает значение attribute_val_in в attribute_val_out и устанавливает MPI_SUCCES.

149- MPI_COMM_NULL_DELETE_FN Возвращает MPI_SUCCESS.

150-MPI_FILE_OPEN открывает файл с именем filename для всех процессов из группы коммуникатора comm.

151-int MPI_File_close(MPI_File *fh)

MPI_FILE_CLOSE(FH, IERROR)

INTEGER FH, IERROR

void MPI::File::Close()

MPI_FILE_CLOSE сначала синхронизирует состояние файла (эквивалент исполнению MPI_FILE_SYNC), затем закрывает файл, ассоциированный с fh.

152-MPI_FILE_DELETE удаляет файл, определяемый именем файла filename. Если такого файла не существует, MPI_FILE_DELETE генерирует ошибку класса MPI_ERR_NO_SUCH_FILE.

153-MPI_FILE_SET_SIZE изменяет размер файла, ассоциированного с дескриптором fh. Размер измеряется в байтах от начала файла. MPI_FILE_SET_SIZE - коллективная; все процессы в группе должны устанавливать одно и то же значение size. Если новый размер меньше, чем текущий размер файла, файл урезается до позиции, определяемой новым размером. Для реализации необязательно удалять из памяти участки файла, расположенные за этой позицией.

154-MPI_FILE_PREALLOCATE обеспечивает пространство для хранения первых size байтов файла, ассоциированного с fh. MPI_FILE_PREALLOCATE - коллективная; все процессы в группе должны устанавливать одно и то же значение size.

155-MPI_FILE_GET_SIZE возвращает в size текущий размер в байтах файла, ассоциированного с дескриптором файла fh. Что касается семантики согласованности, MPI_FILE_GET_SIZE - операция доступа к данным.

156-MPI_FILE_GET_GROUP возвращает дубликат группы коммуникатора, использованной для открытия файла, ассоциированного с fh. Эта группа возвращается в group. Ответственность за освобождение памяти group лежит на пользователе.

157-mpi_file_get_atomicity-возвращает атомарный режим.

158- mpi_file_get_amode- возвращает режим доступа к файлу.

159-mpi_file_get_byte_offset- возвращает абсолютную позицию байта в файле, соответствующую смещению в типах элемента , относительно текущего представления.

160- mpi_file_get_info-возвращает подсказки для файла ,которые фактически используются mpi.

161- mpi_file_get_position- возвращает текущую позицию индивидуального указателя файла,измеренную в единицах типа элемента,относительно текущего представления.

162- mpi_file_get_position_shared-возвращает текущую позицию разделяемого указателя файла в единицах типа элемента,относительно текущего представления.

163-mpi_file_get_type_extent-возвращает протяженность типа данных в файле.

164-mpi_file_get_view-возвращает представление файла .

165- mpi_file_iread- неблокирующее чтение ,использующее индивидуальный указатель файла.

166- mpi_file_iread_at- неблокирующее чтение , использующее явное смещение.

167-mpi_file_iread_shared- неблокирующее чтение, использующее разделяемый указатель файла.

168- mpi_file_iwrite-неблокирующая запись , использующая индивидуальный указатель файла.

169- mpi_file_iwrite_at- неблокирующая запись, использующая явное смещение.

170- mpi_file_iwrite_shared- неблокирующая запись ,использующая разделяемый указатель файла.

171- mpi_file_read-чтение и использованием индивидуального указателя файла.

172- mpi_file_read_all- коллективное чтение ,использующее индивидуальный указатель файла.

173- mpi_file_read_all_begin -начинает раздельное коллективное чтение ,использующее индивидуаьный указатель файла.

174- mpi_file_read_all_end-завершает раздельное коллективное чтение, использующее индивидуальный указатель файла.

175- mpi_file_read_at- чтение с использованием явного смещения.

176- mpi_file_read_at_all- коллективное чтение ,использующее явное смещение.

177- mpi_file_read_at_all_begin- начинает раздельное коллективное чтение ,использующее явное смещение.

178- mpi_file_read_at_all_end-завершение раздельное коллективное чтение, использующее явное смещение.

179-mpi_file_read_ordered- коллективное чтение , использующее разделяемый указатель файла.

180- mpi_file_read_ordered_begin- начинает раздельное коллективное чтение , использующее разделяемый указатель файла.

181- mpi_file_read_ordered_end- завершает раздельное коллективное чтение ,использующее разделяемый указатель файла.

182- mpi_file_read_shared-чтение с использованием разделяемого указателя файла.

183- mpi_file_seek-модифицирует индивидуальный указатель файла.

184- mpi_file_seek_shared- модифицирует разделяемый указатель файла.

185-mpi_file_set_atomicity- устанавливает атомарный режим .

186- mpi_file_set_info- устанавливает новые значения для подсказок ,связанных с файлами.

187- mpi_file_set_size- устанавливает размер файла.

188- mpi_file_set_view- устанавливает представление файла.

189-mpi_file_sync- заставляет все предыдущие записи быть перемещенными на устройство хранения .

190- mpi_file_write- запись, использующая индивидуальный указатель файла.

191- mpi_file_write_all- коллективное запись, использующая индивидуальный указатель файла.

192- mpi_file_write_all_begin- начинает раздельную коллективную запись, использующую индивидуальный указатель файла.

193- mpi_file_write_all_end- завершает раздельную коллективную запись, использующую индивидуальный указатель файла.

194- mpi_file_write_at- заись ,использующая явное смещение.

195- mpi_file_write_at_all-коллективное запись ,использующая явное смещение.

196- mpi_file_write_at_all_begin- начинает раздельную коллективную запись,использующую явное смещение.

197- mpi_file_write_at_all_end- завершает раздельную коллективную запись, использующую явное смещение .

198- mpi_file_write_ordered-коллективная запись ,использующая разделяемый указатель файла.

199- mpi_file_write_ordered_begin- начинает раздельную коллективную запись ,использующую разделяемый указатель файла.

100- mpi_file_write_ordered_end-завершает раздельную коллективное запись, использующую разделяемый указатель файла.

101- mpi_file_write_shared- запись ,использующая разделяемый указатель файла.

102- mpi_graph_create-создает новый коммуникатор ,к которому присоединяется информация о топологии.

103- mpi_graph_get- возвращает информацию о топологии графа ,связанной с коммуникатором.

104- mpi_graph_map-отображает процесс на информацию о топологии графа .

105- mpi_graph_neighbors- возвращает соседей узла, связанного с топологией графа.

106- mpi_graph_neighbors_count- возвращает число соседей узла, связанного с топологией графа.

107- mpi_graphdims_get- возвращает информацию о топологии графа, связанной с коммуникатором.

108-mpi_info_create-создает новый информационный объект.

109-mpi_info_delete- удаляет пару (ключ, значение) из информации.

110-mpi_info_dup-возвращает дубликат информационного объекта.

111-mpi_info_free- освобождает информационный объект.

112-mpi_info_get- возвращает значение, связанное с ключом.

113-mpi_info_get_nkeys-возвращает число определенных на текущий момент ключей в информации.

114-mpi_info_get_nthkey-возвращает n-ный определенный ключ в информации.

115- mpi_info_get_valuelen- возвращает длину значения, связанного с ключом.

116-mpi_info_set- добавляет пару (ключ, значения) к информации.

117-mpi_intercomm_create-создает интеркоммуникатор из двух интеркоммуникаторов .

118- mpi_intercomm_merge-создает интракоммуникатор из интеркоммуникатора .

119-mpi_keyval_create-генерирует новый ключ атрибута.

120- mpi_keyval_free-освобожает ключ атрибута для атрибута КЭШа коммуникатора.

121- Mpi_abort прерывает выполнение mpi срды.

122- Mpi_address- Получает адрес расположения в памяти.

123- Mpi_allgatherv -собирает данные из всех задач и распределяет их всем задачам.

124- Mpi_allgatherv -собирает данные из всех задач и поставлет их всем задачам.

125-Mpi_allreduce- обьединяет значения из всех процессов и распределяет результат всем процессам.

126-Mpi_alltoall- посылает данные от всех процессов всем.

127- Mpi_alltoalv - посылает данные от всех процессов всем , со смещением.

128- Mpi_barrier- блокирует процесс ,пока все процессы достигнут этой подпрограммы.

129- Mpi_bcast-рассылает сообщение из процесса с номером «корень»всем другим процессам группы.

130-MPI_Bsend- основная посылка сообщения с указанной пользователем буферизацией.

131- MPI_Bsend_init- формирует дескриптор для буферизованной посылки.

132- Mpi_buffeer_attach-присоединяет определяемый пользователем буфер к посылке.

133-Mpi_buffeer_datach-удаляет существующий буфер (для использования в и mpi_bsend т.п.)

134-Mpi_cancel- отменяет запрос связи.

135- Mpi_buffeer_attach- сравнивает два коммуникатора.

136-Mpi_buffeer_create- создает новый коммуникатор.

137- MPI_Comm_dup-дублирует существующий коммуникатор со всей кешируемой информацией.

138-MPI_Comm_free-помечает обьект коммуникатора для освобождения.

139-MPI_Comm_group- выбирает группу ,связанную с данным коммуникатором.

140-Mpi_comm_rank- опрееляет номер вызывающего процесса в коммуникаторе.

141-Mpi_comm_remote_group- выбирает удаленную группу связанную с данным интеркоммуникатором.

142-MPI_Comm_remote_group- выбирает удаленную группу,связанную с данным интеркоммуникатором.

143-Mpi_comm_remote_size- определяет размер удаленной группы связанной с интеркоммуникатором.

144-Mpi_comm_split- создает новые коммуникаторы ,основываясь на цветах и ключах(split-разбиние)

145-MPI_GATHER- собирает вместе значения из группы процессов.

146-Mpi_gatherv- собирает в определенные места из всех процессов в группе.

147-MPI_Get_count- получает число элементов «верхнего уровня»

148-MPI_Get_element- возвращает число основных элементов в типе данных.

149-MPI_Get_processor_name- получает имя процессора.

150-MPI_Get_version- получает версию mpi.

151-Mpi_group_compare - Сравнивает две группы.

152-MPI_Group_difference- делает группу из разности двух групп.

153-Mpi_group_excl- производит группу ,переупорядочивая существующую группу и принимая только неперечисленные члены.

154-MPI_Group_free-освобождает группу .

155-Mpi_group_incl- производит группу, переупорядочивая существующую группу и принимая только перечисленные члены.

156-MPI_Group_intersection-производит группу как пересечение двух существующих групп.

157-Mpi_group_range_excl- производит группу ,исключая диапазоны процессов из существующей группы.

158-Mpi_group_range_incl- создает новую группу из диапазонов номеров в существующей группе.

159-Mpi_group_rank- возвращает номер текущего процесса в заданной группе.

160-Mpi_group_size- возвращает размер группы.

161-MPI_GROUP_TRANSLATE_RANKS- ТРАНСЛИРУЕТ НОМЕРА ПРОЦЕССОВ В ОДНОЙ ГРУППЕ В ИХ НОМЕРА В ДРУГОЙ ГРУППЕ.

162-MPI_Group_union-произвдит группу ,обьединяя две группы.

163-MPI_Ibsend- начинает нелокирующую буферизированную посылку.

164-MPI_Init_thread- инициализирует выполнение среды mpi.

165-MPI_Iprobe- неблокирующий тест для сообщения .

166-Mpi_lrecv-начинает неблокирующий прием.

167-Mpi_lrsend-начинает неблокирующую готовую посылку.

168-Mpi_lsend-начинает неблокирующую посылку.

169-Mpi_lssend-начинает неблокирующую синхронную посылку.

170-Mpi_op_create- создает определяемый пользователем дескриптор комбинационной функции.

171-Mpi_op_free- освобождает определяеый пользователем дескриптор комбинационной функции.

172-Mpi_pack-упаковывает тип данных в непрерывную память.

173-Mpi_pack_size- возвращает вехнуюю границу пространства ,необходимого для упаковки сообщения.

Mpi_pcontrol-управление профилированием.

174-Mpi_probe-блокирующий тест для сообщения .

175-Mpi_recv-основной прием сообщения.

176-Mpi_recv_init-формирует дескриптор для приема.

177-Mpi_reduce-приводит значения из всех процессов к одиночному значению.

178-Mpi_reduce_scatter-обьединяет значения и рассеивает результаты.

179-Mpi_request_free-освобождает обьект запроса связи.

180-Mpi_rsend- Основная готовая посылка сообщения .

181-Mpi_rsend_init-формирует дескриптор для готовой посылки.

182-Mpi_scan- вычисляет развертку данных для совокупност процессов.

183-Mpi_scatter- Посылает данные из одной задачи всем остальным заачам в группе.

184-Mpi_scatterv- рассеивает буфер по частям всем задачам в группе.

185-Mpi_send- выполнет основную посылку сообщения.

186-Mpi_send_init- формирует дескрптор для стандартной посылки.

187-Mpi_sendrev-посылает и получает сообщение.

188-Mpi_sendecv_replace-посылка и прием ,использующие одиночный буфер.

189-Mpi_ssend- основная синхронная посылка сообщения.

190-Mpi_ssend_init- формирует дескриптор для синхронной посылки.

191-Mpi_start-инициализирует связь с постоянным дескриптор запроса.

192-Mpi_startall-стартует совокупность запросов.

193-MPI_Status_set_cancelled- устанавливает непрозрачную часть

194-MPI_Status так, чтобы Status_test_cancelled возврати флажок.

195-MPI_status_set_elements – установливает непрозрачную часть

196-MPI_status так, чтобы MPI_status_get_elements возвратил счетчик.

197-Mpi_test- тест завершения посылки или приема.

198-Mpi_test_cancelled- тест , определяющий был лиотменен запрос.

199-Mpi_testall-тест завершения всех предварительно инициализированных связей.

200-MPI_Testany-тест завершения любой из предварительно инициализированных связей.

201-MPI_Testsome-тест завершения каких-либо из указанных связей.

202-Mpi_type_commit-регистрирует тип данных .

203-Mpi_type_contiguous-создает непрерывный тип данных.

204-Mpi_type_create_darray-создает тип данных, соответствующий распределенному многомерному массиву.

205-Mpi_type_create_indexed_block-создает индексированный тип данных с блоками постоянного размера.

206-Mpi_type_create_subarray-создает тип данных , описывающий подмассив многомерного массива.

207-Mpi_type_extent-возвращает протяженность типа данных.

208-Mpi_type_free-освобождает тип данных.

209-Mpi_type_get_contents-возвращает фактические параметры , использованные в вызове при создании типа данных.

210-Mpi_type_get_envelope-возвращает информацию относительно номера и типа входных параметров,использованных при вызове,который создал тип данных.

211-Mpi_type_hindexed-создает индексированный тип данных со смещениями в байтах.

212-Mpi_type_hvector-создает векторный (прорежнный ) тип данных со смещением в байтах.

213-Mpi_type_indexed-создает индексированный данных.

214-Mpi_type_lb-возвращает нижнюю границу типа .

215-Mpi_type_size-возвращает число байтов,занятых записями в типе данных.

216-Mpi_type_struct-создает структурный тип данных.

217-Mpi_type_ub-возвращает верхнюю границу типа .

218-Mpi_type_vector-создает векторный тип.

219-Mpi_unpack-распаковывает тип данных из непрерывной памяти.

220-Mpi_wait-ждет завершения посылки или приема.

221-Mpi_waitall- ждет завершения всех указанных связей.

222-Mpi_waitany- ждет завершения любых из указанных посылок или приемов.

223- Mpi_waitsome- ждет завершения каких-либо из указанных связей.

224-Mpi_wtick-возвращает разрешающую способность Mpi_wtime.

225-Mpi_wtime- возвращает прошедшее время на вызывающем процессоре.

27

Библиографическая ссылка

Аль-хулайди Абдулмаджид Ахмед Галеб реализоват функций пакета MPI // Научный электронный архив.
URL: http://econf.rae.ru/article/5025 (дата обращения: 23.11.2024).



Сертификат Получить сертификат