Technology support such as MPI, OpenMP, GPU

Technology support such as MPI, OpenMP, GPU - MPI, OpenMP, OpenAC - Messages

#1 Posted: 12/3/2020 3:11:38 PM
Andrey

Andrey

1 likes in 44 posts.

Group: User

Добрый день уважаемые разработчики SmathStudio!

У меня к вам вопрос касательно технологии распараллеливания в программе SmathStudio.
Поддерживает ли программа работу c многоядерными процессорами в режиме SMP / DMP ... или как параллелится расчет?
Потом вопрос, как настройть число ядер и максимальный размер памяти , используемые при расчете?
Есть ли в планах поддержка GPU?

Спасибо,
Андрей.
#2 Posted: 12/10/2020 7:40:49 PM
Andrey

Andrey

1 likes in 44 posts.

Group: User

Wrote

Добрый день уважаемые разработчики SmathStudio!

У меня к вам вопрос касательно технологии распараллеливания в программе SmathStudio.
Поддерживает ли программа работу c многоядерными процессорами в режиме SMP / DMP ... или как параллелится расчет?
Потом вопрос, как настройть число ядер и максимальный размер памяти , используемые при расчете?
Есть ли в планах поддержка GPU?

- - - -

Good afternoon dear smath studio developers!

I have a question for you about the parallelization technology in the Smath Studio program.
Does the program support working with multi-core processors in SMP / DMP mode ... or how is the calculation parallelized?
Then the question is how to configure the number of cores and the maximum memory size used in the calculation?
Are there any plans for GPU support?



Спасибо/ Best regards
Andrey



#3 Posted: 12/11/2020 1:33:45 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Что касается дополнений, то параллельное выполнение кода там отдано на откуп разработчикам. В некоторых оно используется, в некоторых нет. Поскольку расчёт всего документа выполняется последовательно, то здесь всё зависит от его содержания. Если в документе много программных блоков, то тут только Андрей может подсказать как они исполняются. По поводу же используемых функций из дополнений, то это нужно узнавать у их авторов.

Quote

Поддерживает ли программа работу c многоядерными процессорами в режиме SMP / DMP ... или как параллелится расчет?


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

Ускорение в расчёте можно также достичь, убрав "лишние" символьные преобразования в процессе вычисления.
Russia ☭ forever, Viacheslav N. Mezentsev
#4 Posted: 12/11/2020 2:41:29 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Hi. Some notes.

1. Run plugin: You can run another SMath file from SMath, I don't know if from the same instance or from another, but let's assume that it is useful for some parallel configuration.

2. With the Script component you can run external DOS commands, showed here. To be specific, you can call a windows host script to assign which processor can be used for any specific files, memory resources and another things.

3. From one SMath worksheet you can create new SMath files or modify some others from a template and populate them saving with a sequentially name, easy also to identify from the previous shell script. Well, I guess that you can do that. Actually I don't know how, but guess that can't be done in some way.

4. You have a lot of way for read/write data operations inside SMath, so your files can interchange processed data very easily, if you can carry the control variables, which I know very well that isn't nothing easy, at the point that I need to ask for help because fail doing that.

5. With an infinite loop with try(read_operation("some file" ), break, continue) you can put the file called from run() in "waiting mode" for data from another instance (Remember that files from "run" plugin execute in background).

6. You can do a lot of things from a plot animation, like an analog clock playing an alarm (like here) when some new file appear in a directory or something else.

So: create a main document which do the following:
- divide the problem into parts,
- write several files for solve each part from some CreateFile or ModifyFile functions (good look with that)
- assign processor and memory resources for each file with a script component
- enable the data interchange between files defining the control variables
- collect all data and write them in a file
- start the plot animation. This is: end the main file with an animated plot.
- show the data in the plot, or a message or an audible alarm.

There are also some other options. One interesting it's that SMath can be make "portable". Read about it here. From a shell script you can populate not only smath files, also smath executable files, it's dll and all the plugins. So, if you can't assign resources for the *.sm files, sure can for each SMathDesktop.exe. You can populate the entire SMath folder with some script. SMath folder isn't very big. You can have thus several clons of SMaths' running at the same time.

Hope that helps.

Best regards.
Alvaro.
#5 Posted: 12/11/2020 12:21:38 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

In this Forum, about 2-3 years ago, the visitor asked if there
was a way to accelerate his attached document .
He was running a "4 cores Speedy Gonzalez", that toke > minute to run.
His document calculated in 11 s from my rudimentary laptop 1.66 GHz.
Parallel computation was discussed in the Mathsoft Collaboratory.
At the time, no working conclusion/technique(s) was suggested.
#6 Posted: 12/17/2020 6:01:22 PM
Andrey

Andrey

1 likes in 44 posts.

Group: User

Hello,

thanks everyone for the tips and advice.
I will look at options with scripts and parallel sessions/insyance.

The question arose when looking at the codes (mathcad 14) for calculating antenna radiation patterns.
there are many integrals including at the surface and there are algorithms for triangulation of Delaunay surfaces too.

Best regards,
Andrey

#7 Posted: 12/18/2020 2:35:59 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

I forgot the most basic option: write your own C sharp code and call it from SMath. Or ask to the experts here how you can do it. But not to me, I don't like C#.

Best regards.
Alvaro.
#8 Posted: 12/18/2020 10:43:18 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

The question arose when looking at the codes (mathcad 14) for calculating antenna radiation patterns.
there are many integrals including at the surface and there are algorithms for triangulation of Delaunay surfaces too.


Can you show a picture MCD 14 Delaunay ?
In my time MCD 11, I asked for Delaunay, they all declined.
Mathsoft team, Colaboratory gurus [Tom, Robert, Paul ...}
#9 Posted: 1/19/2021 12:30:27 PM
Andrey

Andrey

1 likes in 44 posts.

Group: User

Wrote

Wrote

The question arose when looking at the codes (mathcad 14) for calculating antenna radiation patterns.
there are many integrals including at the surface and there are algorithms for triangulation of Delaunay surfaces too.


Can you show a picture MCD 14 Delaunay ?
In my time MCD 11, I asked for Delaunay, they all declined.
Mathsoft team, Colaboratory gurus [Tom, Robert, Paul ...}





Hello Jean,

I will apologise for a delay with the answer.
I communicated with books publisher, where there are in the appendix initial texts on Matchad for calculation with a method of physical optics of the mirror antenna.
Unfortunately the *.mcd-source codes they cannot will give, as they at the publisher are not present.

I waited from the author of more than 2 weeks the answer. But alas, моуг only only to give сканы books (appendix) with the algorithm in mathcad.
The text of algorithm and comments in Russian
It is okey?

Best regards,
Andrey
#10 Posted: 1/19/2021 12:43:43 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

The text of algorithm and comments in Russian
It is okey?

Best regards,
Andrey


My little Russian is ~ 60 years deep buried.
Thanks for your effort, let's forget DeLaunay.
Take care Andrey ... Jean

  • New Posts New Posts
  • No New Posts No New Posts