BlueM.Sim compilation: Difference between revisions

From BlueM
Jump to navigation Jump to search
(→‎Compilation: update software setup for compilation)
(mention Intel Fortran Compiler Extension for Visual Studio)
 
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:


==Compilation==
==Compilation==
BlueM.Sim is written in FORTRAN. Additional components such as [[BlueM.DLLAdapter]] and [[Wave]] are written in C# and VB.NET.
BlueM.Sim is written in FORTRAN. Additional components such as [[BlueM.DLLAdapter]] and [[BlueM.Wave]] are written in C# and VB.NET, while [[BlueM.LaPipe]] is written in C++.


Recommended software setup for compiling BlueM.Sim:
Recommended software setup for compiling BlueM.Sim:
* [https://visualstudio.microsoft.com/ Microsoft Visual Studio 2019] (Community Edition is sufficient)
* [https://visualstudio.microsoft.com/ Microsoft Visual Studio 2019 or 2022] (Community Edition is sufficient)
** Select at least the "Desktop Development with C++" component
** Select at least the "Desktop Development with C++" component
* Intel Fortran Compiler:
* Intel Fortran Compiler:
** [https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html Intel oneAPI Base Toolkit], select at a minimum "Intel Distribution for GDB". This provides the Fortran debugger support for Visual Studio.
** [https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html Intel oneAPI Base Toolkit], select at a minimum "Intel Distribution for GDB". This provides the Fortran debugger support for Visual Studio.
** [https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html Intel oneAPI HPC Toolkit], select at a minimum "Intel Fortran Compiler".
** [https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html Intel oneAPI HPC Toolkit], select at a minimum "Intel Fortran Compiler".
:Or, use the new Intel Fortran Compiler Extension for Visual Studio: https://marketplace.visualstudio.com/items?itemName=intel-corporation.fortranonline


Additional requirements for compiling [[BlueM.Win]] with [[Wave]]:
Further reading:
* [http://www.steema.com/products/teechart/net/overview.html TeeChart for .NET (v4) developer license]
* [https://www.intel.com/content/www/us/en/developer/articles/guide/installing-microsoft-visual-studio-2019-for-use-with-intel-compilers.html Installing Microsoft Visual Studio* for Use with Intel® Compilers]
* [https://www.intel.com/content/www/us/en/developer/articles/training/intel-fortran-compiler-in-ms-visual-studio.html How to Select oneAPI Intel® Fortran Compiler and Compiler Version in Microsoft* Visual Studio]


==Compiler settings==
==Compiler settings==
[[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]]
[[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]]
Compiler-Einstellungen (''Flags''), die zur erfolgreichen Kompilierung erforderlich sind.
Required compiler settings (''Flags''):
* <code>/assume:byterecl</code>
* <code>/assume:byterecl</code>
: Damit Intel Fortran bei unformatierten Dateien (wie den Zeitreihen im BIN-Format) die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden: "'''Use Bytes as RECL unit for unformatted files: Yes'''" (siehe Bild)
: This causes Intel Fortran to interpret the record length of unformatted files (e.g. time series in [[BIN-Format]]) in bytes instead of in 4 byte units (longwords). This flag is set by setting ''Use Bytes as RECL unit for unformatted files:'' to '''Yes''' (see image).
The compiler settings are stored in the project file <code>BlueM.Sim.vfproj</code> and normally do not have to be adjusted.


==Build configurations==
==Build configurations==
The following build configurations for BlueM.Sim are defined in the project file:
The following build configurations for BlueM.Sim are defined in the project file:
* '''Debug''': Debug version, no optimizations
* '''Debug''': Debug version, no optimizations
* '''Release''': Full optimization, requires processor supporting Intel<sup>®</sup> Streaming SIMD Extensions 2 (Intel<sup>®</sup> SSE2). Auto parallelisation (with threshold 90) ON
* '''Release''': Release version with optimizations
* '''Release_AllCPUs''': Full optimization, for generic IA-32 architectures (older processors). Auto parallelisation OFF
 
==Compilation in Eclipse==
[[Bild:Eclipse.gif|thumb|Eclipse screenshot]]
Bisher ist es noch nicht gelungen, BlueM.Sim erfolgreich in [http://www.eclipse.org Eclipse] zu kompilieren. Hier eine vorläufige (inkomplette) Anleitung:
 
<u>Installation:</u>
* Eclipse SDK 3.2.1: http://www.eclipse.org/downloads/
* Eclipse C/C++ Development Toolkit (CDT): http://www.eclipse.org/cdt/ (''In Eclipse über Menü '''Help - Software Updates''' installieren'')
* Photran Feature 3.1 Beta: http://www.eclipse.org/photran/ (''Inhalt der ZIP-Datei einfach in entsprechende Ordner im Eclipse Installationsverzeichnis kopieren'')
* Cygwin mit gdb (GNU Debugger): http://www.cygwin.com/ (''gdb bei der Installation unter '''Devel''' auswählen'')
* make für Windows: http://www.steve.org.uk/Software/make/ (''make muss auf den PATH'')
* g95 compiler: http://www.g95.org/ (''g95 muss auf den PATH'')
 
<u>Eclipse Einstellungen:</u>
* Project Properties: Binary Parser: '''PE Windows Parser''' (''für Syntaxfehlererkennung'')
* Debug As...: C/C++ Local Application: Debugger: '''Cygwin gdb Debugger''' und Pfad zu gdb.exe angeben
 
Es ist (theoretisch) auch möglich, den Intel Fortran Compiler/Debugger in Eclipse einzubinden.


[[Kategorie:BlueM.Sim Development]]
[[Kategorie:BlueM.Sim Development]]

Latest revision as of 04:46, 2 March 2024

BlueM_icon.png BlueM.Sim | Download | Application | Theory | Development

Compilation

BlueM.Sim is written in FORTRAN. Additional components such as BlueM.DLLAdapter and BlueM.Wave are written in C# and VB.NET, while BlueM.LaPipe is written in C++.

Recommended software setup for compiling BlueM.Sim:

Or, use the new Intel Fortran Compiler Extension for Visual Studio: https://marketplace.visualstudio.com/items?itemName=intel-corporation.fortranonline

Further reading:

Compiler settings

Use Bytes as RECL

Required compiler settings (Flags):

  • /assume:byterecl
This causes Intel Fortran to interpret the record length of unformatted files (e.g. time series in BIN-Format) in bytes instead of in 4 byte units (longwords). This flag is set by setting Use Bytes as RECL unit for unformatted files: to Yes (see image).

The compiler settings are stored in the project file BlueM.Sim.vfproj and normally do not have to be adjusted.

Build configurations

The following build configurations for BlueM.Sim are defined in the project file:

  • Debug: Debug version, no optimizations
  • Release: Release version with optimizations