Compilation

104 views
Skip to first unread message

Hosein Sadeghi

unread,
Sep 13, 2022, 1:37:13 PM9/13/22
to FDS and Smokeview Discussions
Hi, 
I get the following error when compiling in Windows10:

The system cannot find the path specified.
make: ..\makefile: No such file or directory
make: *** No rule to make target `..\makefile'.  Stop.
Press any key to continue . . .

is this related to the make_fds.bat file?
do you have any solution for this?


BR,
Hosein

Glenn Forney

unread,
Sep 13, 2022, 1:46:23 PM9/13/22
to fds...@googlegroups.com
did you clone the fds repo and cd into one of the fds\Build directories and type make_fds ? did you install the Intel Onepi compilers (base and hpc tool kits)?

type where make

what is the output


--
You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fds-smv+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fds-smv/e52da207-c2f3-4f03-8d1d-3f4535ffaa19n%40googlegroups.com.


--
Glenn Forney

Hosein Sadeghi

unread,
Sep 14, 2022, 9:44:31 AM9/14/22
to FDS and Smokeview Discussions
Hi, Thank you. I could run it finally.


BR,
Hosein

Hosein Sadeghi

unread,
Sep 14, 2022, 10:52:10 AM9/14/22
to FDS and Smokeview Discussions
Hi, 
When I run the compiled code in parallel as (for 12 meshes)

fds_impi_intel_win.exe -p 12 -o 4 model.fds

I get the following error:

ERROR: The file, -p, does not exist in the current directory

Do you have any idea?


BR,
Hosein

Kevin McGrattan

unread,
Sep 14, 2022, 10:56:11 AM9/14/22
to fds...@googlegroups.com
Yes. Don't do that.

mpiexec -n 12 <full path to executable> jobname.fds

I don't know how to do the OpenMP part. Check the User's Guide.

dr_jfloyd

unread,
Sep 14, 2022, 11:02:47 AM9/14/22
to FDS and Smokeview Discussions
Two errors:
That is not the correct command for running an mpi process
The impi_intel_win folder does not compile with the OpenMP libraries, just the MPI libraries. If you want both you need to compile in the the omp folder for windows.  OpenMP however imposes substantial penalties in being able to optimize the code.  If you have 48 cores you are likely better off using more than 12 mpi processes than using 12 mpi processes with OpenMP threads.

If you are running your own version of FDS from the command you would set the OpenMP threads using the environmental variable OMP_NUM_THREADS and you would set the number of mpi processes by running mpiexec:  
mpiexec -n mpi_processes fds_exectuable_file.exe jobname.fds  where fds_executable_file and jobname.fds are your compiled fds and input file.  If your compiled fds directory is not in your path then you need to give the path as well.

Hosein Sadeghi

unread,
Sep 14, 2022, 11:23:59 AM9/14/22
to FDS and Smokeview Discussions
Thank you so much. I could run it.
BTW, do you mean if I don't put any value for number of threads in the cmd command, the OMP_NUM_THREADS value in environmental variable is used?


BR,
Hosein

Hosein Sadeghi

unread,
Sep 14, 2022, 11:31:21 AM9/14/22
to FDS and Smokeview Discussions
and which parallelization do you recommend?

Randy McDermott

unread,
Sep 14, 2022, 11:35:08 AM9/14/22
to FDS and Smokeview Discussions
From the user guide:

MPI and OpenMP can be used together. For example, 4 MPI processes can be assigned to 4 different computers, and each MPI process can be supported by, say, 8 OpenMP threads, assuming each computer has 8 cores. Most of the speed up is achieved by the MPI. For a reasonably fast network, you can expect 4 MPI processes to speed up the computation time by a factor of about 0.9 times 4. The OpenMP can provide an extra factor up to about 2, regardless of the number of cores used beyond about 4.

Hosein Sadeghi

unread,
Sep 14, 2022, 11:40:36 AM9/14/22
to FDS and Smokeview Discussions
Thank you.

dr_jfloyd

unread,
Sep 14, 2022, 1:15:11 PM9/14/22
to FDS and Smokeview Discussions
On windows, the -o and -p only have meaning if you are using the fds_local.bat file that runs the installed release version of FDS. In the bat file the -p becomes -n for mpiexec and the -o is used to set the environmental variable and run the OpenMP version.  

Since you want to run your own compiled version and not the release version, then you need to do all the work your self. That is using mpiexec and setting OMP_NUM_THREADS. If you want OpenMP, you need to compile the OpenMP version and use that; however, as Randy noted you get at best a factor of 2 speed up. So instead of 12 MPI processes x 4 OpenMP threads (48 cores) giving you twice the speed up of 12 processes, you could split all your meshes in half and use 24 MPI MPI processes and see the same runtime but using only half the cores.



Hosein Sadeghi

unread,
Sep 15, 2022, 8:18:37 AM9/15/22
to FDS and Smokeview Discussions
Great, thank you Jason. 
So that's why the CPU usage of OpenMP is higher than MPI.

Reply all
Reply to author
Forward
0 new messages