Reuti, If you want to allocate 10 procs with N threads, the Torque script below should work for you:
qsub -l nodes=10:ppn=N mpirun -map-by slot:pe=N -np 10 -x OMP_NUM_THREADS=N ./inverse.exe Then, the openmpi automatically reduces the logical slot count to 10 by dividing real slot count 10N by binding width of N. I don't know why you want to use pe=N without binding, but unfortunately the openmpi allocates successive cores to each process so far when you use pe option - it forcibly bind_to core. Tetsuya > Hi, > > Am 20.08.2014 um 06:26 schrieb Tetsuya Mishima: > > > Reuti and Oscar, > > > > I'm a Torque user and I myself have never used SGE, so I hesitated to join > > the discussion. > > > > From my experience with the Torque, the openmpi 1.8 series has already > > resolved the issue you pointed out in combining MPI with OpenMP. > > > > Please try to add --map-by slot:pe=8 option, if you want to use 8 threads. > > Then, then openmpi 1.8 should allocate processes properly without any modification > > of the hostfile provided by the Torque. > > > > In your case(8 threads and 10 procs): > > > > # you have to request 80 slots using SGE command before mpirun > > mpirun --map-by slot:pe=8 -np 10 ./inverse.exe > > Thx for pointing me to this option, for now I can't get it working though (in fact, I want to use it without binding essentially). This allows to tell Open MPI to bind more cores to each of the MPI > processes - ok, but does it lower the slot count granted by Torque too? I mean, was your submission command like: > > $ qsub -l nodes=10:ppn=8 ... > > so that Torque knows, that it should grant and remember this slot count of a total of 80 for the correct accounting? > > -- Reuti > > > > where you can omit --bind-to option because --bind-to core is assumed > > as default when pe=N is provided by the user. > > Regards, > > Tetsuya > > > >> Hi, > >> > >> Am 19.08.2014 um 19:06 schrieb Oscar Mojica: > >> > >>> I discovered what was the error. I forgot include the '-fopenmp' when I compiled the objects in the Makefile, so the program worked but it didn't divide the job > > in threads. Now the program is working and I can use until 15 cores for machine in the queue one.q. > >>> > >>> Anyway i would like to try implement your advice. Well I'm not alone in the cluster so i must implement your second suggestion. The steps are > >>> > >>> a) Use '$ qconf -mp orte' to change the allocation rule to 8 > >> > >> The number of slots defined in your used one.q was also increased to 8 (`qconf -sq one.q`)? > >> > >> > >>> b) Set '#$ -pe orte 80' in the script > >> > >> Fine. > >> > >> > >>> c) I'm not sure how to do this step. I'd appreciate your help here. I can add some lines to the script to determine the PE_HOSTFILE path and contents, but i > > don't know how alter it > >> > >> For now you can put in your jobscript (just after OMP_NUM_THREAD is exported): > >> > >> awk -v omp_num_threads=$OMP_NUM_THREADS '{ $2/=omp_num_threads; print }' $PE_HOSTFILE > $TMPDIR/machines > >> export PE_HOSTFILE=$TMPDIR/machines > >> > >> ============= > >> > >> Unfortunately noone stepped into this discussion, as in my opinion it's a much broader issue which targets all users who want to combine MPI with OpenMP. The > > queuingsystem should get a proper request for the overall amount of slots the user needs. For now this will be forwarded to Open MPI and it will use this > > information to start the appropriate number of processes (which was an achievement for the Tight Integration out-of-the-box of course) and ignores any setting of > > OMP_NUM_THREADS. So, where should the generated list of machines be adjusted; there are several options: > >> > >> a) The PE of the queuingsystem should do it: > >> > >> + a one time setup for the admin > >> + in SGE the "start_proc_args" of the PE could alter the $PE_HOSTFILE > >> - the "start_proc_args" would need to know the number of threads, i.e. OMP_NUM_THREADS must be defined by "qsub -v ..." outside of the jobscript (tricky scanning > > of the submitted jobscript for OMP_NUM_THREADS would be too nasty) > >> - limits to use inside the jobscript calls to libraries behaving in the same way as Open MPI only > >> > >> > >> b) The particular queue should do it in a queue prolog: > >> > >> same as a) I think > >> > >> > >> c) The user should do it > >> > >> + no change in the SGE installation > >> - each and every user must include it in all the jobscripts to adjust the list and export the pointer to the $PE_HOSTFILE, but he could change it forth and back > > for different steps of the jobscript though > >> > >> > >> d) Open MPI should do it > >> > >> + no change in the SGE installation > >> + no change to the jobscript > >> + OMP_NUM_THREADS can be altered for different steps of the jobscript while staying inside the granted allocation automatically > >> o should MKL_NUM_THREADS be covered too (does it use OMP_NUM_THREADS already)? > >> > >> -- Reuti > >> > >> > >>> echo "PE_HOSTFILE:" > >>> echo $PE_HOSTFILE > >>> echo > >>> echo "cat PE_HOSTFILE:" > >>> cat $PE_HOSTFILE > >>> > >>> Thanks for take a time for answer this emails, your advices had been very useful > >>> > >>> PS: The version of SGE is OGS/GE 2011.11p1 > >>> > >>> > >>> Oscar Fabian Mojica Ladino > >>> Geologist M.S. in Geophysics > >>> > >>> > >>>> From: re...@staff.uni-marburg.de > >>>> Date: Fri, 15 Aug 2014 20:38:12 +0200 > >>>> To: us...@open-mpi.org > >>>> Subject: Re: [OMPI users] Running a hybrid MPI+openMP program > >>>> > >>>> Hi, > >>>> > >>>> Am 15.08.2014 um 19:56 schrieb Oscar Mojica: > >>>> > >>>>> Yes, my installation of Open MPI is SGE-aware. I got the following > >>>>> > >>>>> [oscar@compute-1-2 ~]$ ompi_info | grep grid > >>>>> MCA ras: gridengine (MCA v2.0, API v2.0, Component v1.6.2) > >>>> > >>>> Fine. > >>>> > >>>> > >>>>> I'm a bit slow and I didn't understand the las part of your message. So i made a test trying to solve my doubts. > >>>>> This is the cluster configuration: There are some machines turned off but that is no problem > >>>>> > >>>>> [oscar@aguia free-noise]$ qhost > >>>>> HOSTNAME ARCH NCPU LOAD MEMTOT MEMUSE SWAPTO SWAPUS > >>>>> ------------------------------------------------------------------------------- > >>>>> global - - - - - - - > >>>>> compute-1-10 linux-x64 16 0.97 23.6G 558.6M 996.2M 0.0 > >>>>> compute-1-11 linux-x64 16 - 23.6G - 996.2M - > >>>>> compute-1-12 linux-x64 16 0.97 23.6G 561.1M 996.2M 0.0 > >>>>> compute-1-13 linux-x64 16 0.99 23.6G 558.7M 996.2M 0.0 > >>>>> compute-1-14 linux-x64 16 1.00 23.6G 555.1M 996.2M 0.0 > >>>>> compute-1-15 linux-x64 16 0.97 23.6G 555.5M 996.2M 0.0 > >>>>> compute-1-16 linux-x64 8 0.00 15.7G 296.9M 1000.0M 0.0 > >>>>> compute-1-17 linux-x64 8 0.00 15.7G 299.4M 1000.0M 0.0 > >>>>> compute-1-18 linux-x64 8 - 15.7G - 1000.0M - > >>>>> compute-1-19 linux-x64 8 - 15.7G - 996.2M - > >>>>> compute-1-2 linux-x64 16 1.19 23.6G 468.1M 1000.0M 0.0 > >>>>> compute-1-20 linux-x64 8 0.04 15.7G 297.2M 1000.0M 0.0 > >>>>> compute-1-21 linux-x64 8 - 15.7G - 1000.0M - > >>>>> compute-1-22 linux-x64 8 0.00 15.7G 297.2M 1000.0M 0.0 > >>>>> compute-1-23 linux-x64 8 0.16 15.7G 299.6M 1000.0M 0.0 > >>>>> compute-1-24 linux-x64 8 0.00 15.7G 291.5M 996.2M 0.0 > >>>>> compute-1-25 linux-x64 8 0.04 15.7G 293.4M 996.2M 0.0 > >>>>> compute-1-26 linux-x64 8 - 15.7G - 1000.0M - > >>>>> compute-1-27 linux-x64 8 0.00 15.7G 297.0M 1000.0M 0.0 > >>>>> compute-1-29 linux-x64 8 - 15.7G - 1000.0M - > >>>>> compute-1-3 linux-x64 16 - 23.6G - 996.2M - > >>>>> compute-1-30 linux-x64 16 - 23.6G - 996.2M - > >>>>> compute-1-4 linux-x64 16 0.97 23.6G 571.6M 996.2M 0.0 > >>>>> compute-1-5 linux-x64 16 1.00 23.6G 559.6M 996.2M 0.0 > >>>>> compute-1-6 linux-x64 16 0.66 23.6G 403.1M 996.2M 0.0 > >>>>> compute-1-7 linux-x64 16 0.95 23.6G 402.7M 996.2M 0.0 > >>>>> compute-1-8 linux-x64 16 0.97 23.6G 556.8M 996.2M 0.0 > >>>>> compute-1-9 linux-x64 16 1.02 23.6G 566.0M 1000.0M 0.0 > >>>>> > >>>>> I ran my program using only MPI with 10 processors of the queue one.q which has 14 machines (compute-1-2 to compute-1-15). Whit 'qstat -t' I got: > >>>>> > >>>>> [oscar@aguia free-noise]$ qstat -t > >>>>> job-ID prior name user state submit/start at queue master ja-task-ID task-ID state cpu mem io stat failed > >>>>> > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > ---- > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-2.local MASTER r 00:49:12 554.13753 0.09163 > >>>>> one.q@compute-1-2.local SLAVE > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-5.local SLAVE 1.compute-1-5 r 00:48:53 551.49022 0.09410 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-9.local SLAVE 1.compute-1-9 r 00:50:00 564.22764 0.09409 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-12.local SLAVE 1.compute-1-12 r 00:47:30 535.30379 0.09379 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-13.local SLAVE 1.compute-1-13 r 00:49:51 561.69868 0.09379 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-14.local SLAVE 1.compute-1-14 r 00:49:14 554.60818 0.09379 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-10.local SLAVE 1.compute-1-10 r 00:49:59 562.95487 0.09349 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-15.local SLAVE 1.compute-1-15 r 00:50:01 563.27221 0.09361 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-8.local SLAVE 1.compute-1-8 r 00:49:26 556.68431 0.09349 > >>>>> 2726 0.50500 job oscar r 08/15/2014 12:38:21 one.q@compute-1-4.local SLAVE 1.compute-1-4 r 00:49:27 556.87510 0.04967 > >>>> > >>>> Yes, here you got 10 slots (= cores) granted by SGE. So there is no free core left inside the allocation of SGE to allow the use of additional cores for your > > threads. If you use more cores than granted by SGE, it will oversubscribe the machines. > >>>> > >>>> The issue is now: > >>>> > >>>> a) If you want 8 threads per MPI process, your job will use 80 cores in total - for now SGE isn't aware of it. > >>>> > >>>> b) Although you specified $fill_up as allocation rule, it looks like $round_robin. Is there more than one slot defined in the queue definition of one.q to get > > exclusive access? > >>>> > >>>> c) What version of SGE are you using? Certain ones use cgroups or bind processes directly to cores (although it usually needs to be requested by the job: > > first line of `qconf -help`). > >>>> > >>>> > >>>> In case you are alone in the cluster, you could bypass the allocation with b) (unless you are hit by c)). But having a mixture of users and jobs a different > > handling would be necessary to handle this in a proper way IMO: > >>>> > >>>> a) having a PE with a fixed allocation rule of 8 > >>>> > >>>> b) requesting this PE with an overall slot count of 80 > >>>> > >>>> c) copy and alter the $PE_HOSTFILE to show only (granted core count per machine) divided by (OMP_NUM_THREADS) per entry, change $PE_HOSTFILE so that it points > > to the altered file > >>>> > >>>> d) Open MPI with a Tight Integration will now start only N process per machine according to the altered hostfile, in your case one > >>>> > >>>> e) Your application can start the desired threads and you stay inside the granted allocation > >>>> > >>>> -- Reuti > >>>> > >>>> > >>>>> I accessed to the MASTER processor with 'ssh compute-1-2.local' , and with $ ps -e f and got this, I'm showing only the last lines > >>>>> > >>>>> 2506 ? Ss 0:00 /usr/sbin/atd > >>>>> 2548 tty1 Ss+ 0:00 /sbin/mingetty /dev/tty1 > >>>>> 2550 tty2 Ss+ 0:00 /sbin/mingetty /dev/tty2 > >>>>> 2552 tty3 Ss+ 0:00 /sbin/mingetty /dev/tty3 > >>>>> 2554 tty4 Ss+ 0:00 /sbin/mingetty /dev/tty4 > >>>>> 2556 tty5 Ss+ 0:00 /sbin/mingetty /dev/tty5 > >>>>> 2558 tty6 Ss+ 0:00 /sbin/mingetty /dev/tty6 > >>>>> 3325 ? Sl 0:04 /opt/gridengine/bin/linux-x64/sge_execd > >>>>> 17688 ? S 0:00 \_ sge_shepherd-2726 -bg > >>>>> 17695 ? Ss 0:00 \_ -bash /opt/gridengine/default/spool/compute-1-2/job_scripts/2726 > >>>>> 17797 ? S 0:00 \_ /usr/bin/time -f %E /opt/openmpi/bin/mpirun -v -np 10 ./inverse.exe > >>>>> 17798 ? S 0:01 \_ /opt/openmpi/bin/mpirun -v -np 10 ./inverse.exe > >>>>> 17799 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-5.local PATH=/opt/openmpi/bin:$PATH ; expo > >>>>> 17800 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-9.local PATH=/opt/openmpi/bin:$PATH ; expo > >>>>> 17801 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-12.local PATH=/opt/openmpi/bin:$PATH ; exp > >>>>> 17802 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-13.local PATH=/opt/openmpi/bin:$PATH ; exp > >>>>> 17803 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-14.local PATH=/opt/openmpi/bin:$PATH ; exp > >>>>> 17804 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-10.local PATH=/opt/openmpi/bin:$PATH ; exp > >>>>> 17805 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-15.local PATH=/opt/openmpi/bin:$PATH ; exp > >>>>> 17806 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-8.local PATH=/opt/openmpi/bin:$PATH ; expo > >>>>> 17807 ? Sl 0:00 \_ /opt/gridengine/bin/linux-x64/qrsh -inherit -nostdin -V compute-1-4.local PATH=/opt/openmpi/bin:$PATH ; expo > >>>>> 17826 ? R 31:36 \_ ./inverse.exe > >>>>> 3429 ? Ssl 0:00 automount --pid-file /var/run/autofs.pid > >>>>> > >>>>> So the job is using the 10 machines, Until here is all right OK. Do you think that changing the "allocation_rule " to a number instead $fill_up the MPI > > processes would divide the work in that number of threads? > >>>>> > >>>>> Thanks a lot > >>>>> > >>>>> Oscar Fabian Mojica Ladino > >>>>> Geologist M.S. in Geophysics > >>>>> > >>>>> > >>>>> PS: I have another doubt, what is a slot? is a physical core? > >>>>> > >>>>> > >>>>>> From: re...@staff.uni-marburg.de > >>>>>> Date: Thu, 14 Aug 2014 23:54:22 +0200 > >>>>>> To: us...@open-mpi.org > >>>>>> Subject: Re: [OMPI users] Running a hybrid MPI+openMP program > >>>>>> > >>>>>> Hi, > >>>>>> > >>>>>> I think this is a broader issue in case an MPI library is used in conjunction with threads while running inside a queuing system. First: whether your > > actual installation of Open MPI is SGE-aware you can check with: > >>>>>> > >>>>>> $ ompi_info | grep grid > >>>>>> MCA ras: gridengine (MCA v2.0, API v2.0, Component v1.6.5) > >>>>>> > >>>>>> Then we can look at the definition of your PE: "allocation_rule $fill_up". This means that SGE will grant you 14 slots in total in any combination on the > > available machines, means 8+4+2 slots allocation is an allowed combination like 4+4+3+3 and so on. Depending on the SGE-awareness it's a question: will your > > application just start processes on all nodes and completely disregard the granted allocation, or as the other extreme does it stays on one and the same machine > > for all started processes? On the master node of the parallel job you can issue: > >>>>>> > >>>>>> $ ps -e f > >>>>>> > >>>>>> (f w/o -) to have a look whether `ssh` or `qrsh -inhert ...` is used to reach other machines and their requested process count. > >>>>>> > >>>>>> > >>>>>> Now to the common problem in such a set up: > >>>>>> > >>>>>> AFAICS: for now there is no way in the Open MPI + SGE combination to specify the number of MPI processes and intended number of threads which are > > automatically read by Open MPI while staying inside the granted slot count and allocation. So it seems to be necessary to have the intended number of threads being > > honored by Open MPI too. > >>>>>> > >>>>>> Hence specifying e.g. "allocation_rule 8" in such a setup while requesting 32 processes, would for now start 32 processes by MPI already, as Open MP reads > the $PE_HOSTFILE and acts accordingly. > >>>>>> > >>>>>> Open MPI would have to read the generated machine file in a slightly different way regarding threads: a) read the $PE_HOSTFILE, b) divide the granted > > slots per machine by OMP_NUM_THREADS, c) throw an error in case it's not divisible by OMP_NUM_THREADS. Then start one process per quotient. > >>>>>> > >>>>>> Would this work for you? > >>>>>> > >>>>>> -- Reuti > >>>>>> > >>>>>> PS: This would also mean to have a couple of PEs in SGE having a fixed "allocation_rule". While this works right now, an extension in SGE could be > > "$fill_up_omp"/"$round_robin_omp" and using OMP_NUM_THREADS there too, hence it must not be specified as an `export` in the job script but either on the command > > line or inside the job script in #$ lines as job requests. This would mean to collect slots in bunches of OMP_NUM_THREADS on each machine to reach the overall > > specified slot count. Whether OMP_NUM_THREADS or n times OMP_NUM_THREADS is allowed per machine needs to be discussed. > >>>>>> > >>>>>> PS2: As Univa SGE can also supply a list of granted cores in the $PE_HOSTFILE, it would be an extension to feed this to Open MPI to allow any UGE aware > > binding. > >>>>>> > >>>>>> > >>>>>> Am 14.08.2014 um 21:52 schrieb Oscar Mojica: > >>>>>> > >>>>>>> Guys > >>>>>>> > >>>>>>> I changed the line to run the program in the script with both options > >>>>>>> /usr/bin/time -f "%E" /opt/openmpi/bin/mpirun -v --bind-to-none -np $NSLOTS ./inverse.exe > >>>>>>> /usr/bin/time -f "%E" /opt/openmpi/bin/mpirun -v --bind-to-socket -np $NSLOTS ./inverse.exe > >>>>>>> > >>>>>>> but I got the same results. When I use man mpirun appears: > >>>>>>> > >>>>>>> -bind-to-none, --bind-to-none > >>>>>>> Do not bind processes. (Default.) > >>>>>>> > >>>>>>> and the output of 'qconf -sp orte' is > >>>>>>> > >>>>>>> pe_name orte > >>>>>>> slots 9999 > >>>>>>> user_lists NONE > >>>>>>> xuser_lists NONE > >>>>>>> start_proc_args /bin/true > >>>>>>> stop_proc_args /bin/true > >>>>>>> allocation_rule $fill_up > >>>>>>> control_slaves TRUE > >>>>>>> job_is_first_task FALSE > >>>>>>> urgency_slots min > >>>>>>> accounting_summary TRUE > >>>>>>> > >>>>>>> I don't know if the installed Open MPI was compiled with '--with-sge'. How can i know that? > >>>>>>> before to think in an hybrid application i was using only MPI and the program used few processors (14). The cluster possesses 28 machines, 15 with 16 > > cores and 13 with 8 cores totalizing 344 units of processing. When I submitted the job (only MPI), the MPI processes were spread to the cores directly, for that > > reason I created a new queue with 14 machines trying to gain more time. the results were the same in both cases. In the last case i could prove that the processes > > were distributed to all machines correctly. > >>>>>>> > >>>>>>> What I must to do? > >>>>>>> Thanks > >>>>>>> > >>>>>>> Oscar Fabian Mojica Ladino > >>>>>>> Geologist M.S. in Geophysics > >>>>>>> > >>>>>>> > >>>>>>>> Date: Thu, 14 Aug 2014 10:10:17 -0400 > >>>>>>>> From: maxime.boissonnea...@calculquebec.ca > >>>>>>>> To: us...@open-mpi.org > >>>>>>>> Subject: Re: [OMPI users] Running a hybrid MPI+openMP program > >>>>>>>> > >>>>>>>> Hi, > >>>>>>>> You DEFINITELY need to disable OpenMPI's new default binding. Otherwise, > >>>>>>>> your N threads will run on a single core. --bind-to socket would be my > >>>>>>>> recommendation for hybrid jobs. > >>>>>>>> > >>>>>>>> Maxime > >>>>>>>> > >>>>>>>> > >>>>>>>> Le 2014-08-14 10:04, Jeff Squyres (jsquyres) a 馗rit : > >>>>>>>>> I don't know much about OpenMP, but do you need to disable Open MPI's default bind-to-core functionality (I'm assuming you're using Open MPI 1.8.x)? > >>>>>>>>> > >>>>>>>>> You can try "mpirun --bind-to none ...", which will have Open MPI not bind MPI processes to cores, which might allow OpenMP to think that it can use > > all the cores, and therefore it will spawn num_cores threads...? > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Aug 14, 2014, at 9:50 AM, Oscar Mojica <o_moji...@hotmail.com> wrote: > >>>>>>>>> > >>>>>>>>>> Hello everybody > >>>>>>>>>> > >>>>>>>>>> I am trying to run a hybrid mpi + openmp program in a cluster. I created a queue with 14 machines, each one with 16 cores. The program divides the > > work among the 14 processors with MPI and within each processor a loop is also divided into 8 threads for example, using openmp. The problem is that when I submit > > the job to the queue the MPI processes don't divide the work into threads and the program prints the number of threads that are working within each process as one. > >>>>>>>>>> > >>>>>>>>>> I made a simple test program that uses openmp and I logged in one machine of the fourteen. I compiled it using gfortran -fopenmp program.f -o exe, > > set the OMP_NUM_THREADS environment variable equal to 8 and when I ran directly in the terminal the loop was effectively divided among the cores and for example in > > this case the program printed the number of threads equal to 8 > >>>>>>>>>> > >>>>>>>>>> This is my Makefile > >>>>>>>>>> > >>>>>>>>>> # Start of the makefile > >>>>>>>>>> # Defining variables > >>>>>>>>>> objects = inv_grav3d.o funcpdf.o gr3dprm.o fdjac.o dsvd.o > >>>>>>>>>> #f90comp = /opt/openmpi/bin/mpif90 > >>>>>>>>>> f90comp = /usr/bin/mpif90 > >>>>>>>>>> #switch = -O3 > >>>>>>>>>> executable = inverse.exe > >>>>>>>>>> # Makefile > >>>>>>>>>> all : $(executable) > >>>>>>>>>> $(executable) : $(objects) > >>>>>>>>>> $(f90comp) -fopenmp -g -O -o $(executable) $(objects) > >>>>>>>>>> rm $(objects) > >>>>>>>>>> %.o: %.f > >>>>>>>>>> $(f90comp) -c $< > >>>>>>>>>> # Cleaning everything > >>>>>>>>>> clean: > >>>>>>>>>> rm $(executable) > >>>>>>>>>> # rm $(objects) > >>>>>>>>>> # End of the makefile > >>>>>>>>>> > >>>>>>>>>> and the script that i am using is > >>>>>>>>>> > >>>>>>>>>> #!/bin/bash > >>>>>>>>>> #$ -cwd > >>>>>>>>>> #$ -j y > >>>>>>>>>> #$ -S /bin/bash > >>>>>>>>>> #$ -pe orte 14 > >>>>>>>>>> #$ -N job > >>>>>>>>>> #$ -q new.q > >>>>>>>>>> > >>>>>>>>>> export OMP_NUM_THREADS=8 > >>>>>>>>>> /usr/bin/time -f "%E" /opt/openmpi/bin/mpirun -v -np $NSLOTS ./inverse.exe > >>>>>>>>>> > >>>>>>>>>> am I forgetting something? > >>>>>>>>>> > >>>>>>>>>> Thanks, > >>>>>>>>>> > >>>>>>>>>> Oscar Fabian Mojica Ladino > >>>>>>>>>> Geologist M.S. in Geophysics > >>>>>>>>>> _______________________________________________ > >>>>>>>>>> users mailing list > >>>>>>>>>> us...@open-mpi.org > >>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>>>>>>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25016.php > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> -- > >>>>>>>> --------------------------------- > >>>>>>>> Maxime Boissonneault > >>>>>>>> Analyste de calcul - Calcul Qu饕ec, Universit・Laval > >>>>>>>> Ph. D. en physique > >>>>>>>> > >>>>>>>> _______________________________________________ > >>>>>>>> users mailing list > >>>>>>>> us...@open-mpi.org > >>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>>>>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25020.php > >>>>>>> _______________________________________________ > >>>>>>> users mailing list > >>>>>>> us...@open-mpi.org > >>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>>>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25032.php > >>>>>> > >>>>>> _______________________________________________ > >>>>>> users mailing list > >>>>>> us...@open-mpi.org > >>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25034.php > >>>>> _______________________________________________ > >>>>> users mailing list > >>>>> us...@open-mpi.org > >>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25037.php > >>>> > >>>> _______________________________________________ > >>>> users mailing list > >>>> us...@open-mpi.org > >>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25038.php > >>> _______________________________________________ > >>> users mailing list > >>> us...@open-mpi.org > >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25079.php > >> > >> _______________________________________________ > >> users mailing list > >> us...@open-mpi.org > >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >> Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25080.php > > > > ---- > > Tetsuya Mishima tmish...@jcity.maeda.co.jp > > _______________________________________________ > > users mailing list > > us...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > > Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25081.php > > _______________________________________________ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: http://www.open-mpi.org/community/lists/users/2014/08/25083.php