firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
641 stars 614 forks source link

Compilation for AMD Ryzen CPUs with Intel OneAPI – not supported without changes #9545

Closed KingCZE closed 1 year ago

KingCZE commented 3 years ago

Hello,

I have been trying to compile FDS for AMD Ryzen processors with Intel ifort and Intel MPI, but I have encountered many problems and now I got stuck. (And apparently it not as easy as stated here)

System info: Windows 10 Pro 20H2 (19042.985) (quite a fresh installation, tried right on the day of re-installation of Windows) AMD Ryzen R7 4800h (ZEN 2)

_OneAPI: Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228000000 Intel(R) MPI Library for Windows* OS, Version 2021.2 Build 20210318 Visual Studio 19

Issues:

1) Firstly, I don't know why, but from some version of Windows, it does not properly log Environment Variable paths (tried several times on a clean Windows installation). When I installed the OneAPI and MPI, set variables (for the compiler as well MPI), registered MPI, I still needed to add the paths manually. The same with GIT and MAKE.

2) The master files are obviously not prepared for the newest OneAPI. I needed to change the "setup_intel_compilers.bat" script for "IFORT_COMPILER21" on several lines.

3) Then I needed to change "cons.f90" in the Source folder as the Intel compiler for Windows does not support "MPI_F08" on Windows yet, so I needed to rewrite MPI_F08 to just "MPI".

4) Now I am facing this error code:

../../Source\func.f90(4550): error #6405: The same named entity from different modules and/or program units cannot be referenced.   [MPI_MAX_LIBRARY_VERSION_STRING]
CHARACTER(LEN=MPI_MAX_LIBRARY_VERSION_STRING) :: MPILIBVERSION
--------------^
../../Source\func.f90(4566): error #7938: Character length argument mismatch.   [MPILIBVERSION]
CALL MPI_GET_LIBRARY_VERSION(MPILIBVERSION,MPILIBLENGTH,IERR)

I am sorry for possibly silly questions, I am quite a newbie to this. With the intention of optimisation for AMD Ryzen CPUs, I followed this study/guide.

To the flags to the Intel compiler, they recommend to add these flags: -O3 -march=core-avx2 -align array64byte -fma -ftz -fomit-frame-pointer or at least -O3 -xCORE-AVX2 -fma

In the case of ifort, it means (if I'm not mistaken,... Qm64 probably not needed): /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz

I just changed the impi_intel_win_64 setting in makefile to:

impi_intel_win_64 : MPILIB = "$(IMPI_RELEASE_ROOT)\impi.lib"
impi_intel_win_64 : MPIINCLUDE = "$(IMPI_INCLUDE)"
impi_intel_win_64 : FFLAGS = /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I$(MPIINCLUDE) /traceback /debug:full /wrap-margin- $(GITINFO) $(INTELMPI_COMPINFO) $(FFLAGSMKL_INTEL)
impi_intel_win_64 : FOPENMPFLAGS = /Qopenmp
impi_intel_win_64 : FCOMPL = ifort
impi_intel_win_64 : obj = fds_impi_win_64
impi_intel_win_64 : setup_win $(objwin_mpi)
    $(FCOMPL) -o $(obj) $(FFLAGS) $(FOPENMPFLAGS) /F1000000000 $(objwin_mpi) $(MPILIB) $(LFLAGSMKL_INTEL)

As I am using 64bit, I cannot use -fomit-frame-pointer (as /Qy-), but I don't think it would matter much.

And also possibly, I would like to compile it with the AMD Math Library libm for Ryzen 2 (as also described here). This probably means replacing all Intel MKL, I suppose, which is probably a whole other level than just to compile FDS with Intel MPI and ifort, and I guess it would involve changes in FDS itself.

Does anone have any idea how to continue? Or would anybody be able to compile it for me (and not only me - I am sure there are many people with AMD CPUs, and AMD servers are more and more common, and Intel MPI is still even on AMD CPUs the fastest solution), please? An official compilation optimised also for AMD CPUs would be really nice - AMD CPUs are becoming faster, are more affordable, Threadripper and Epyc have more cores than Intel equivalents, have better IPC, also support AVX2...

I am aware that even with these optimisations, I might need to still run MPI with MKL_DEBUG_CPU_TYPE=5 so the MPI would use AVX2.

UPDATE

I replaced all "MPI_F08" by "MPI" in all relevant source files. The previous errors are gone, most of the files get compiled successfully, but now i get these:

../../Source\scrc.f90(5259): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.   [738197504]
   REQ = MPI_REQUEST_NULL
---------^
../../Source\scrc.f90(7641): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY_FB, DUMMY_FB, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------------^
../../Source\scrc.f90(7645): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY_FB, DUMMY_FB, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------------^
../../Source\scrc.f90(7659): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY, DUMMY, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------^
../../Source\scrc.f90(7663): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY, DUMMY, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------^
../../Source\scrc.f90(7864): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
----^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_GLOBALS]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_EXCHANGES]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
------------------------------------------^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
-----------------------------------------------------------------^
../../Source\scrc.f90(8540): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_SETUP_EXCHANGE_DIMENSIONS
----^
../../Source\scrc.f90(8540): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_EXCHANGE_DIMENSIONS]
USE SCARC_MPI, ONLY: SCARC_SETUP_EXCHANGE_DIMENSIONS
---------------------^
../../Source\scrc.f90(11274): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(11275): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_GRIDS]
USE SCARC_GRIDS, ONLY: SCARC_SETUP_GLOBAL_CELL_MAPPING
----^
../../Source\scrc.f90(11274): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(11275): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_GLOBAL_CELL_MAPPING]
USE SCARC_GRIDS, ONLY: SCARC_SETUP_GLOBAL_CELL_MAPPING
-----------------------^
../../Source\scrc.f90(11784): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_COLS,  NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(11785): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_COLSG, NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(11786): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_VALS,  NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(13449): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
IF (NMESHES > 1) CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_DIAGS, NSCARC_NONE, NL)
----------------------^
../../Source\scrc.f90(13475): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_VECTORS]
USE SCARC_VECTORS
----^
../../Source\scrc.f90(13476): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MATRICES]
USE SCARC_MATRICES
----^
../../Source\scrc.f90(13840): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(14068): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(13840): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14248): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
   IF (NMESHES > 1) CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_VECTOR_PLAIN, NVB, NLF)
-------------------------^
../../Source\scrc.f90(14068): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14289): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MATRICES]
USE SCARC_MATRICES
----^
../../Source\scrc.f90(14288): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(14288): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14557): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
      IF (NMESHES > 1)  CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_ZONE_TYPES, NSCARC_NONE, NL)
-----------------------------^
C:\Users\Patrik\AppData\Local\Temp\1180413.i90(16736): catastrophic error: Too many errors, exiting
compilation aborted for ../../Source/scrc.f90 (code 1)
make: *** [scrc.obj] Error 1

I get this error even with other bats "impi_intel_win_64_db" and "impi_intel_win_64_dv", I do not think the issue is in the added ifort flags.

I do not know what to correct next (in scrc.f90), all MPI_F08 have been replaced, all necessary exe files hopefully referenced in the Env. Variable paths. I am not even sure I need the SCARC solver (and I don't even know how to run this pressure solver), but I don't think I can just delete this file and skip it either.

Do you have any solution for this issue? Do you have any answer to why I encounter Issue 1 as described at the beginning?

I also want to apologize for possibly silly questions, I am quite a newbie to this. My experiences with MPI and these things have been only with codes for mpiexec for running FDS, ANSYS APDL and a little bit of MATLAB so far. Though, I think this might be quite an interesting compilation and project as I haven't seen attempts to compile FDS optimised for AMD CPUs yet.

Thank you very much.

rmcdermo commented 3 years ago

I am not sure how much we are going to be able to help if we do not have an AMD machine to test. You might have better luck on the discussion forum, as there are several experts who compile FDS on their clusters.

KingCZE commented 3 years ago

I am not sure how much we are going to be able to help if we do not have an AMD machine to test. You might have better luck on the discussion forum, as there are several experts who compile FDS on their clusters.

At the moment, I am only in the stage of compilation. I have not tried it yet. The compilation should not be associated with the machine CPU as far as I know. I don't know why I get this error and how to avoid it. I also wanted to ask on the forum, but I don't have my email I used to use there and with my current one, I have been waiting for approval of my application for some time already.

rmcdermo commented 3 years ago

Apologies for that. Something has changed in the Google Discussion Forum settings that prevents our getting notified of new join requests. You should be accepted now. Let me know if not.

Anyway, maybe Kevin or Glenn will have some ideas on the compilation. The oneAPI toolkit is new for us, so old notes may need to be revised.

KingCZE commented 3 years ago

Apologies for that. Something has changed in the Google Discussion Forum settings that prevents our getting notified of new join requests. You should be accepted now. Let me know if not.

Anyway, maybe Kevin or Glenn will have some ideas on the compilation. The oneAPI toolkit is new for us, so old notes may need to be revised.

Thank you very much. I created a topic there, unfortunately it created a bit messy formatting, I hope it will be alright.

For others who might read this, here is the link to the topic: Google Group

mcgratta commented 3 years ago

You are over-thinking this. Do not change the source code -- this will cause even more trouble. Are you using the make_fds.bat script?

gforney commented 3 years ago

we havent installed the latest oneapi compilers for windows yet. I'm doing that now. we did install the latest on a linux computer and didn't have any trouble building fds ie didnt need to make any source code changes. I'll take a look at what is needed to get the latest oneapi compilers to work for our apps under windows

KingCZE commented 3 years ago

You are over-thinking this. Do not change the source code -- this will cause even more trouble. Are you using the make_fds.bat script?

I started to (over)think when the original procedure did not work.

This is without any changes:

Microsoft Windows [Version 10.0.19042.985]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>cd C:\fds-master\Build\impi_intel_win_64

C:\fds-master\Build\impi_intel_win_64>make_fds.bat
"*** Error: Intel compiler environment variable, IFORT_COMPILER, not defined."
"    Intel compilers probably not installed."
ifort -c /Qipo /O2 /I"" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"-\" -DGITDATE_PP=\""\"" -DBUILDDATE_PP=\""04/06/2021  01:38\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\"  ../../Source/prec.f90

Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O2 /I"" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"-\" -DGITDATE_PP=\""\"" -DBUILDDATE_PP=\""04/06/2021  01:38\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\"  ../../Source/cons.f90

Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

../../Source\cons.f90(9): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MPI_F08]
USE MPI_F08
----^
../../Source\cons.f90(372): error #6457: This derived type name has not been declared.   [MPI_COMM]
TYPE (MPI_COMM), ALLOCATABLE, DIMENSION(:) :: MPI_COMM_MESH !< MPI communicator for the a given mesh and its neighbors
------^
compilation aborted for ../../Source/cons.f90 (code 1)
make: *** [cons.obj] Error 1
Press any key to continue . . .
C:\fds-master\Build\impi_intel_win_64>

This is when I changed setup_intel_compilers.bat to support IFORT_COMPILER21

Then it finally got to compilation of the source files, but not quite:

ifort -c /Qipo /O2 /I"" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"-\" -DGITDATE_PP=\""\"" -DBUILDDATE_PP=\""04/06/2021  01:45\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\"  ../../Source/cons.f90

Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

../../Source\cons.f90(9): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MPI_F08]
USE MPI_F08
----^
../../Source\cons.f90(372): error #6457: This derived type name has not been declared.   [MPI_COMM]
TYPE (MPI_COMM), ALLOCATABLE, DIMENSION(:) :: MPI_COMM_MESH !< MPI communicator for the a given mesh and its neighbors
------^
compilation aborted for ../../Source/cons.f90 (code 1)
make: *** [cons.obj] Error 1
Press any key to continue . . .
C:\fds-master\Build\impi_intel_win_64>

This is when I modified all source files containing MPI_F08, I modified it to just MPI

(Intel ifort for Windows does not support MPI_F08, only MPI)

It finally compiled many files, but got stuck with SCARC:

C:\fds_install\fds\Build\impi_intel_win_64>make_fds.bat
ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/prec.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/cons.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/devc.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/type.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/mesh.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/func.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/data.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/gsmv.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/turb.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/geom.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/smvv.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/rcal.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/soot.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/ieva.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/pois.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  01:49\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/scrc.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

../../Source\scrc.f90(5259): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.   [738197504]
   REQ = MPI_REQUEST_NULL
---------^
../../Source\scrc.f90(7641): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY_FB, DUMMY_FB, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------------^
../../Source\scrc.f90(7645): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY_FB, DUMMY_FB, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------------^
../../Source\scrc.f90(7659): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY, DUMMY, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------^
../../Source\scrc.f90(7663): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY, DUMMY, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------^
../../Source\scrc.f90(7864): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
----^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_GLOBALS]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_EXCHANGES]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
------------------------------------------^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
-----------------------------------------------------------------^
../../Source\scrc.f90(8540): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_SETUP_EXCHANGE_DIMENSIONS
----^
../../Source\scrc.f90(8540): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_EXCHANGE_DIMENSIONS]
USE SCARC_MPI, ONLY: SCARC_SETUP_EXCHANGE_DIMENSIONS
---------------------^
../../Source\scrc.f90(11274): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(11275): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_GRIDS]
USE SCARC_GRIDS, ONLY: SCARC_SETUP_GLOBAL_CELL_MAPPING
----^
../../Source\scrc.f90(11274): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(11275): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_GLOBAL_CELL_MAPPING]
USE SCARC_GRIDS, ONLY: SCARC_SETUP_GLOBAL_CELL_MAPPING
-----------------------^
../../Source\scrc.f90(11784): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_COLS,  NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(11785): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_COLSG, NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(11786): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_VALS,  NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(13449): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
IF (NMESHES > 1) CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_DIAGS, NSCARC_NONE, NL)
----------------------^
../../Source\scrc.f90(13475): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_VECTORS]
USE SCARC_VECTORS
----^
../../Source\scrc.f90(13476): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MATRICES]
USE SCARC_MATRICES
----^
../../Source\scrc.f90(13840): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(14068): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(13840): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14248): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
   IF (NMESHES > 1) CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_VECTOR_PLAIN, NVB, NLF)
-------------------------^
../../Source\scrc.f90(14068): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14289): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MATRICES]
USE SCARC_MATRICES
----^
../../Source\scrc.f90(14288): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(14288): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14557): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
      IF (NMESHES > 1)  CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_ZONE_TYPES, NSCARC_NONE, NL)
-----------------------------^
C:\Users\Patrik\AppData\Local\Temp\1019613.i90(16736): catastrophic error: Too many errors, exiting
compilation aborted for ../../Source/scrc.f90 (code 1)
make: *** [scrc.obj] Error 1
Press any key to continue . . .
C:\fds_install\fds\Build\impi_intel_win_64>

I made it compile at least something (which it did not without my changes). This is, however, where I got stuck and I have no idea what to change and make it work now.

I might be overthinking it, but I at least moved somewhere – at the beginning, it did not work at all.

Thank you gforney for letting me know. I'm curious about your experience.

When we finish with the compilation, I am also quite curious about usage of the AMD Math Libraries (libm), but again, I guess it would need a change in FDS itself (and therefore not even considered), right?

mcgratta commented 3 years ago

Are you using the special command prompt that is installed with oneAPI?

KingCZE commented 3 years ago

we havent installed the latest oneapi compilers for windows yet. I'm doing that now. we did install the latest on a linux computer and didn't have any trouble building fds ie didnt need to make any source code changes. I'll take a look at what is needed to get the latest oneapi compilers to work for our apps under windows

Also when/if you manage to make it run with OneAPI 2021, could you please send me the compilation? I would like to compare it to a compilation with the modified flags for ifort, optimised for AMD Ryzen, and see if there is any improvement in the performance.

KingCZE commented 3 years ago

Are you using the special command prompt that is installed with oneAPI?

I'm using just cmd (as an admin).

mcgratta commented 3 years ago

Try the oneAPI special command prompt. It automatically sets up certain environment variables.

KingCZE commented 3 years ago

Try the oneAPI special command prompt. It automatically sets up certain environment variables.

Unfortunately, no change (and the same result with 32 and 64bit):

:: initializing oneAPI environment...
   initializing Visual Studio command-line environment...
   Visual Studio version 16.10.0 environment configured.
   Visual Studio environment initialized for: 'x64'
:  advisor -- latest
:  compiler -- latest
:  dal -- latest
:  debugger -- latest
:  dev-utilities -- latest
:  dnnl -- latest
:  dpcpp-ct -- latest
:  dpl -- latest
:  inspector -- latest
:  intelpython -- latest
:  ipp -- latest
:  ippcp -- latest
:  itac -- latest
:  mkl -- latest
:  mpi -- latest
:  tbb -- latest
:  vpl -- latest
:  vtune -- latest
:: oneAPI environment initialized ::

C:\Windows\System32>cd C:\fds_install\fds\Build\impi_intel_win_64

C:\fds_install\fds\Build\impi_intel_win_64>make_fds.bat
Setting up compiler environment
:: WARNING: setvars has already been run. Skipping re-execution.
   To force a re-execution of setvars, use the '--force' option.
   Using '--force' can result in excessive use of your environment variables.
Setting up MPI environment
ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/prec.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/cons.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/devc.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/type.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/mesh.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/func.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/data.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/gsmv.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/turb.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/geom.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/smvv.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/rcal.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/soot.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/ieva.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include /Qopenmp ../../Source/pois.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort -c /Qipo /O3 /QxCORE-AVX2 /tune:core-avx2 /Qm64 /align:array64byte /Qfma /Qftz /I"C:\Program Files (x86)\Intel\oneAPI\mpi\2021.2.0\lib\release\include" /traceback /debug:full /wrap-margin- -fpp -DGITHASH_PP=\"FDS6.7.6-0-g5064c500c-dirty-master\" -DGITDATE_PP=\""Thu May 27 12:19:10 2021 -0400\"" -DBUILDDATE_PP=\""04/06/2021  03:33\"" -DCOMPVER_PP=\""Intel ifort 2021.2.0"\" -DWITH_MKL /I"C:\Program Files (x86)\Intel\oneAPI\mkl\latest"\include ../../Source/scrc.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

../../Source\scrc.f90(5259): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.   [738197504]
   REQ = MPI_REQUEST_NULL
---------^
../../Source\scrc.f90(7641): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY_FB, DUMMY_FB, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------------^
../../Source\scrc.f90(7645): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY_FB, DUMMY_FB, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------------^
../../Source\scrc.f90(7659): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY, DUMMY, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------^
../../Source\scrc.f90(7663): error #6633: The type of the actual argument differs from the type of the dummy argument.   [1140850688]
                                MKL%MSGLVL, DUMMY, DUMMY, MPI_COMM_WORLD, MKL%ERROR)
----------------------------------------------------------^
../../Source\scrc.f90(7864): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
----^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_GLOBALS]USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_EXCHANGES]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
------------------------------------------^
../../Source\scrc.f90(7864): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_SETUP_GLOBALS, SCARC_SETUP_EXCHANGES, SCARC_EXCHANGE
-----------------------------------------------------------------^
../../Source\scrc.f90(8540): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]USE SCARC_MPI, ONLY: SCARC_SETUP_EXCHANGE_DIMENSIONS
----^
../../Source\scrc.f90(8540): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_EXCHANGE_DIMENSIONS]
USE SCARC_MPI, ONLY: SCARC_SETUP_EXCHANGE_DIMENSIONS
---------------------^
../../Source\scrc.f90(11274): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(11275): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_GRIDS]
USE SCARC_GRIDS, ONLY: SCARC_SETUP_GLOBAL_CELL_MAPPING
----^
../../Source\scrc.f90(11274): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(11275): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_SETUP_GLOBAL_CELL_MAPPING]
USE SCARC_GRIDS, ONLY: SCARC_SETUP_GLOBAL_CELL_MAPPING
-----------------------^
../../Source\scrc.f90(11784): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_COLS,  NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(11785): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_COLSG, NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(11786): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_VALS,  NSCARC_MATRIX_POISSON, NL)
-----^
../../Source\scrc.f90(13449): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
IF (NMESHES > 1) CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_MATRIX_DIAGS, NSCARC_NONE, NL)
----------------------^
../../Source\scrc.f90(13475): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_VECTORS]
USE SCARC_VECTORS
----^
../../Source\scrc.f90(13476): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MATRICES]
USE SCARC_MATRICES
----^
../../Source\scrc.f90(13840): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(14068): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(13840): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14248): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
   IF (NMESHES > 1) CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_VECTOR_PLAIN, NVB, NLF)
-------------------------^
../../Source\scrc.f90(14068): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14289): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MATRICES]
USE SCARC_MATRICES
----^
../../Source\scrc.f90(14288): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [SCARC_MPI]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
----^
../../Source\scrc.f90(14288): error #6580: Name in only-list does not exist or is not accessible.   [SCARC_EXCHANGE]
USE SCARC_MPI, ONLY: SCARC_EXCHANGE
---------------------^
../../Source\scrc.f90(14557): error #6406: Conflicting attributes or multiple declaration of name.   [SCARC_EXCHANGE]
      IF (NMESHES > 1)  CALL SCARC_EXCHANGE (NSCARC_EXCHANGE_ZONE_TYPES, NSCARC_NONE, NL)
-----------------------------^
C:\Users\Patrik\AppData\Local\Temp\221213.i90(16736): catastrophic error: Too many errors, exiting
compilation aborted for ../../Source/scrc.f90 (code 1)
make: *** [scrc.obj] Error 1
Press any key to continue . . .
mcgratta commented 3 years ago

I think you are accessing older MPI libraries. I would uninstall older versions MPI.

KingCZE commented 3 years ago

I think you are accessing older MPI libraries. I would uninstall older versions MPI.

This was a clean installation with the most recent OneAPI.

gforney commented 3 years ago

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

gforney commented 3 years ago

also, clean your fds build directory before you try to compile again

On Thu, Jun 3, 2021 at 12:11 PM gforney @.***> wrote:

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/9545#issuecomment-853991904, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6UCRXWY6XKCPELOA3EV5TTQ6SS7ANCNFSM46ASZ23A .

-- Glenn Forney

mcgratta commented 3 years ago

I just did the following:

  1. Installed 2021.2 version of oneAPI Base toolkit
  2. Installed 2021.2 version of oneAPI HPC toolkit
  3. Updated my fds repo
  4. git clean'ed old files from the Build folder
  5. Opened a regular Command Prompt
  6. cd to Build/impi_intel_win_64_db
  7. make_fds

Everything worked successfully.

KingCZE commented 3 years ago

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

It says FDS6.7.6.0-g5064c500c-dirty

gforney commented 3 years ago

FDS 6.7.0 was released in June of 2018 3 years ago. the build scripts and Intel setup files were not configured for the onapi compilers then (the oneapi compilers didn't exist then). You need to update your repo. FIrst revert or undo your changes (to get rid of the "dirty")

On Thu, Jun 3, 2021 at 8:14 PM KingCZE @.***> wrote:

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

It says FDS6.7.0-g5064c500c-dirty

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/9545#issuecomment-854265403, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6UCRQ5PMNAZSUXH2HM6KTTRALHZANCNFSM46ASZ23A .

-- Glenn Forney

gforney commented 3 years ago

after you update your repo, git describe --dirty --long should give something like the string below . The FDS6.7.6 should be the same. The "16" may be greater if others have made commits between now and when you update your repo

FDS6.7.6-16-ga3be2cd0e

On Thu, Jun 3, 2021 at 8:14 PM KingCZE @.***> wrote:

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

It says FDS6.7.0-g5064c500c-dirty

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/9545#issuecomment-854265403, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6UCRQ5PMNAZSUXH2HM6KTTRALHZANCNFSM46ASZ23A .

-- Glenn Forney

KingCZE commented 3 years ago

FDS 6.7.0 was released in June of 2018 3 years ago. the build scripts and Intel setup files were not configured for the onapi compilers then (the oneapi compilers didn't exist then). You need to update your repo. FIrst revert or undo your changes (to get rid of the "dirty")

On Thu, Jun 3, 2021 at 8:14 PM KingCZE @.***> wrote:

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

It says FDS6.7.0-g5064c500c-dirty

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/9545#issuecomment-854265403, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6UCRQ5PMNAZSUXH2HM6KTTRALHZANCNFSM46ASZ23A .

-- Glenn Forney

It is FDS 6.7.6 - check my comment again, please. But, when I erased everything, downloaded the repo again, it gives an error at the behinning, but it creates all files.

Though, it has a problem to create the .exe file when I use all the additional flags (without them, it's fine now). I am trying to figure out which flag is the problem, I suspect /Qftz.

I really have no idea what the problem was, I had the latest repo (as shown in my previous comment), not 6.7.0.

But thank you. I will be playing with the flags and I will try to optimise to AMD CPUs as much as possible. Any thoughts on the AMD Math Library (libm) instead of Intel MKL? I am not sure at all if it would be compatible with Intel MPI though.

Also, do you have any FDS task sample and results for an 8-core Intel CPU equivalent to my 8-core AMD R7 4800h, so I could compare the performance of AMDs with the new flags? If we get at least closer to Intel.

Thank you very much! 👍

gforney commented 3 years ago

you said the output of the git describe command was FDS6.7.0-g5064c500c-dirty . This means your fds repo is 3 years out of date. You need to update your repo so that typing the git describe command gives something like FDS6.7.6-xx-yyyyyy . Then you will be able to build fds.

you may have installed the latest FDS application (FDS6.7.6) using the bundle we just released but this has nothing to do with the state of your fds repo

On Thu, Jun 3, 2021 at 9:53 PM KingCZE @.***> wrote:

FDS 6.7.0 was released in June of 2018 3 years ago. the build scripts and Intel setup files were not configured for the onapi compilers then (the oneapi compilers didn't exist then). You need to update your repo. FIrst revert or undo your changes (to get rid of the "dirty")

On Thu, Jun 3, 2021 at 8:14 PM KingCZE @.***> wrote:

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

It says FDS6.7.0-g5064c500c-dirty

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub

9545 (comment)

https://github.com/firemodels/fds/issues/9545#issuecomment-854265403, or unsubscribe

https://github.com/notifications/unsubscribe-auth/AC6UCRQ5PMNAZSUXH2HM6KTTRALHZANCNFSM46ASZ23A .

-- Glenn Forney

It is FDS 6.7.6 - check my comment again, please. But, when I erased everything, downloaded the repo again, it gives an error at the behinning, but it creates all files.

Though, it has a problem to create the .exe file when I use all the additional flags (without them, it's fine now). I am trying to figure out which flag is the problem, I suspect /Qftm.

I really have no idea what the problem was, I had the latest repo (as shown in my previous comment), not 6.7.0.

But thank you. I will be playing with the flags and I will try to optimise to AMD CPUs as much as possible. Any thoughts on the AMD Math Library (libm) instead of Intel MKL? I am not sure at all if it would be compatible with Intel MPI though.

Also, do you have any FDS task sample and results for an 8-core Intel CPU equivalent to my 8-core AMD R7 4800h, so I could compare the performance of AMDs with the new flags? If we get at least closer to Intel.

Thank you very much! 👍

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/9545#issuecomment-854297907, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6UCRXA2MPR3URTPDM5ZHTTRAW2ZANCNFSM46ASZ23A .

-- Glenn Forney

KingCZE commented 3 years ago

you said the output of the git describe command FDS6.7.0-g5064c500c-dirty . This means your fds repo is 3 years out of date. You need to update your repo so that typing the git describe command gives something like FDS6.7.6-xx-yyyyyy . Then you will be able to build fds.

you may have installed the latest FDS application (FDS.7.6) using the bundle we just released but this has nothing to do with the state of your fds repo

On Thu, Jun 3, 2021 at 9:53 PM KingCZE @.***> wrote:

FDS 6.7.0 was released in June of 2018 3 years ago. the build scripts and Intel setup files were not configured for the onapi compilers then (the oneapi compilers didn't exist then). You need to update your repo. FIrst revert or undo your changes (to get rid of the "dirty")

On Thu, Jun 3, 2021 at 8:14 PM KingCZE @.***> wrote:

I installed the latest oneapi compilers (didn't uninstall old compilers) and had was able to build fds without a problem . I did not need to make any changes in the fds repo. I am building using the latest revision of the fds repo FDS6.7.6-4-g8aeb20a06

type git describe --dirty --long in your fds repo . what does it say? I suggest you update your fds repo and try again. make sure you revert all of your changes . they were not necessary

It says FDS6.7.0-g5064c500c-dirty

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub

9545 (comment)

https://github.com/firemodels/fds/issues/9545#issuecomment-854265403, or unsubscribe

https://github.com/notifications/unsubscribe-auth/AC6UCRQ5PMNAZSUXH2HM6KTTRALHZANCNFSM46ASZ23A .

-- Glenn Forney

It is FDS 6.7.6 - check my comment again, please. But, when I erased everything, downloaded the repo again, it gives an error at the behinning, but it creates all files.

Though, it has a problem to create the .exe file when I use all the additional flags (without them, it's fine now). I am trying to figure out which flag is the problem, I suspect /Qftm.

I really have no idea what the problem was, I had the latest repo (as shown in my previous comment), not 6.7.0.

But thank you. I will be playing with the flags and I will try to optimise to AMD CPUs as much as possible. Any thoughts on the AMD Math Library (libm) instead of Intel MKL? I am not sure at all if it would be compatible with Intel MPI though.

Also, do you have any FDS task sample and results for an 8-core Intel CPU equivalent to my 8-core AMD R7 4800h, so I could compare the performance of AMDs with the new flags? If we get at least closer to Intel.

Thank you very much! 👍

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/9545#issuecomment-854297907, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6UCRXA2MPR3URTPDM5ZHTTRAW2ZANCNFSM46ASZ23A .

-- Glenn Forney

I think you are looking only in the emails - check the comment stream on github - I edited it right after submission (I made a mistake).

gforney commented 3 years ago

cd into your fds repo type git describe --dirty --long what does it say?

KingCZE commented 3 years ago

cd into your fds repo type git describe --dirty --long what does it say?

Now it is:

C:\fds_install\fds\Build\impi_intel_win_64>git describe --dirty --long
FDS6.7.6-16-ga3be2cd0e-dirty

Before, it was:

C:\fds_install\fds\Build\impi_intel_win_64>git describe --dirty --long
FDS6.7.6-0-g5064c500c-dirty
gforney commented 3 years ago

revert all your changes so that when you do a git describe the dirty does not appear. we can't help you if you change the files in the repo

From your very first comment "Firstly, I don't know why, but from some version of Windows, it does not properly log Environment Variable paths (tried several times on a clean Windows installation). When I installed the OneAPI and MPI, set variables (for the compiler as well MPI), registered MPI, I still needed to add the paths manually. The same with GIT and MAKE."

it sounds like either the applications didnt get installed properly or you didn't reboot your computer after you installed oneapi and your other apps. Windows DOES update path variables after an insetall but only after you reboot. If rebooting doesn't help. then uninstall and re-install the onapi compilers and the other tools use installed . I didn't need update any path variables but I did reboot my computer after I installed oneapi.

KingCZE commented 3 years ago

revert all your changes so that when you do a git describe the dirty does not appear. we can't help you if you change the files in the repo

From your very first comment

"Firstly, I don't know why, but from some version of Windows, it does not properly log Environment Variable paths (tried several times on a clean Windows installation). When I installed the OneAPI and MPI, set variables (for the compiler as well MPI), registered MPI, I still needed to add the paths manually. The same with GIT and MAKE."

it sounds like either the applications didnt get installed properly or you didn't reboot your computer after you installed oneapi and your other apps. Windows DOES update path variables after an insetall but only after you reboot. If rebooting doesn't help. then uninstall and re-install the onapi compilers and the other tools use installed . I didn't need update any path variables but I did reboot my computer after I installed oneapi.

Again, I have no problem now. It successfully creates the files (with the original repo).

Now I am just trying to figure out which flags for ifort I can use (and successfully compile with) to increase the performance of the AMD CPU closer to Intel.