How to run SU2 on cluster of computers (How to specify nodes ?)
Dear SU2 Developers,
Details of running SU2 on multicore Machine is given in the manual. If I want to run it on cluster of workstation (each having multiple cores), what is the command/details (How to specify node number etc)? GPU computing is becoming very popular (cost effective/fast computing). Is there any plan to release a GPU version of SU2 in near future? Thanks |
Hi,
In order to run SU2 in parallel, first you will need to compile the code in parallel, and then you can use the python script in the following manner $ parallel_computation.py -f your_config_file.cfg -p 4. -f for file, -p for number of processors. You should note that different clusters have their own protocol to submit jobs, so you will have to look into that with you cluster administrator. Santiago |
Hi Harry,
It sounds like you are able to run parallel cases on a multi-core workstation using the parallel run tools included in the SU2 distribution. If this is not the case, then the manual provides details on installing with MPI and executing parallel cases using the parallel_computation.py python script. The syntax for running SU2 on clusters depends on the job-submittal environment installed on the cluster. There are several standards (slurm, PBC, etc.) and depending on the unique environment of your cluster, you may be able to use the existing python tools directly or make small modifications to make it work. If you can provide me with some more details, I may be able to help more, but most computing groups have some introductory documentation on how to submit jobs to the cluster. I recommend seeking this information out and I think the path forward will become more clear. GPU computing has the potential to be very powerful. The development team has discussed this, but, at the current time, we don't have anyone working on it. If members of the community are interested, we encourage folks to take on the challenge! -Sean |
Thanks Santiago/Cope,
With small modifications in python script, I am able to run problem on distributed cluster. :) |
Hi Aero_Amit
could you please specify as to what modifications you did on your code in order to submit your code...? I am facing similar probles when trying to run parallel computation on cluster |
Hi Abhii,
As developers already said it depends on job-submittal environment. For me adding hostfile with mpirun worked. |
Hello.
I've just added the host file but now all the nodes are doing the same job :( Anyone? |
Quote:
Can u tell me adding hostfile in which script, because i can,t find mpirun in parallel_computation.py and shape_optimization.py. For Fluent, we can use -cnf to specify nodes. |
Quote:
For fluent, we can use fluent -tx -ssh -cnf="hostfile" to specify the nodes to use. However,for SU2, how to solve this problem? Thanks a lot! |
Quote:
If you choose the first one you should modify the hostfile PBC creates for you. (I've never used PBC but some of them creates a random nodefile name. So you could just do something like this : cp $NODEFILE hosts). Or you implement parallel_computation.py to receive the hostfile name. |
Quote:
I have edited the interface.py file. with mpirun -hostfile myhostfile -np.......... and then parallel_computation.py can work on the bode specified in my hostfile. however, shape_optimization.py can not work..can anyone give me some suggestions? |
Quote:
From what I've seen searching through shape_optimization.py is that it calls "from scipy.optimize import fmin_slsqp" which I'm afraid it isn't parallelized yet. http://docs.scipy.org/doc/scipy-0.13...min_slsqp.html |
Quote:
|
i have the same problem
Quote:
I have an i7 machine with 4 cores (multithreaded to 8). Thanks. |
Quote:
you're linking the LD_LIBRARY_PATH env. For example: When using MPICH2 you should've to add it's lib to LD_LIBRARY_PATH. Using hostfile is needed when you want to run it on more than 1 computer. But since you have only 1 using -np will be just fine. Are you using the 3.0 or 3.1 version? At first I recommend you to recked your mpi installation. |
Quote:
|
Quote:
Open .bashrc; Find "export LD_LIBRARY_PATH"; Create a new line below that and write "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/pathtompich2/lib" or add this on your terminal: root$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/pathtompich2/lib I recommend the latter one so that it doesn't interfere on another applications |
Quote:
Mysteriously, I tried installing it on another machine and its working on a CentOS machine with the same config procedure. |
Quote:
|
Solved!!!
Quote:
The problem has probably got to do with the way Ubuntu installs mpi from the package manager. All mpis somehow get installed in the same directory if done automatically and then it becomes really difficult to ensure which one is being run. The solution: I removed all mpi's and then installed mpich (required for other purposes) from the package manager. Then manually downloaded and installed mpich2 from source to another directly and finally added "export PATH=/usr/lib/mpich2/bin:$PATH" to my bashrc. Its finally up and running!!!! :) :) :) Is there a way to mark this post so that it could be easier for other users facing a similar problem? |
All times are GMT -4. The time now is 06:37. |