5.5.4 Распараллеливание

Многие функции MathGL используют несколько потоков для ускорения работы (если MathGL была собрана с поддержкой pthread). При этом можно настраивать число используемых потоков.

Функция С: int mgl_set_num_thr (int n)

Задает число потоков, которое будет использовано в MathGL. При n<1 число потоков задается как максимальное число процессоров (ядер) в системе. При n=1 не используется распараллеливание.

Другая возможность – комбинирование изображений из разных объектов mglGraph. Эти методы наиболее подходят для компьютерных кластеров, когда данные настолько велики, что не могут поместиться в памяти отдельного компьютера.

Метод класса mglGraph: int Combine (const mglGraph &g)
Функция С: int mgl_combine_gr (HMGL gr, HMGL g)

Комбинирует (добавляет) рисунок из g с gr, принимая во внимание “высоту” пикселей. Ширина и высота обоих рисунков должна быть одинаковы.

Метод класса mglGraph: int MPI_Send (int id)
Функция С: int mgl_mpi_send (HMGL gr, int id)

Посылает рисунок из компьютера (ноды) id, используя MPI. Ширина и высота обоих рисунков должна быть одинаковы.

Метод класса mglGraph: int MPI_Recv (int id)
Функция С: int mgl_mpi_send (HMGL gr, int id)

Принимает рисунок из компьютера (ноды) id, используя MPI. Ширина и высота обоих рисунков должна быть одинаковы.