- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have a code written in Fortran that runs fine with OpenMP directives on Linux. On Windows however my solver fails to converge. If I turn off OpenMP on Windows x64 the serial code runs fine. Also in order for the OpenMP code to run without immediately having a stack overflow I had to set the stack size in the linker options. The Linux version doesn't specify stack size. Here are my compiler options:
[bash]-- COMPILER -- /nologo /extend_source:132 /Qopenmp /module:"x64\Release OpenMP\\" /object:"x64\Release OpenMP\\" /c -- LINKER -- /OUT:"x64\bin\Release OpenMP\efdc.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"E:\projects\code\EFDC\EFDC\x64\bin\release openmp\efdc.exe.intermediate.manifest" /SUBSYSTEM:CONSOLE /STACK:160000000 /IMPLIB:"E:\projects\code\EFDC\EFDC\x64\bin\release openmp\efdc.lib"[/bash]The options are the same on Windows and Linux.
The Linux version is:
Intel Fortran Compiler for applications running on Intel 64, Version 10.1 Build 20080212 Package ID: l_fc_p_10.1.013
The Windows version is:
Intel Fortran Compiler Integration for Microsoft Visual Studio 2008, 10.1.3440.2008, Copyright (C) 2002-2008 Intel Corporation
Intel Fortran Compiler Integration for Microsoft Visual Studio 2008, 10.1.3440.2008, Copyright (C) 2002-2008 Intel Corporation
Is this a known issue? Any suggestions for working around this?
Thanks,
Nils
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My first guess is that you have references to uninitialized variables, as enabling OpenMP causes the stack to be used for all allocations. This is the #1 cause of "failure to converge" and similar issues.
However, I will comment that your Fortran version is three and a half years old and is unsupported. Please install the current version and try again, though it is still likely you have uninitialized variables.
However, I will comment that your Fortran version is three and a half years old and is unsupported. Please install the current version and try again, though it is still likely you have uninitialized variables.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page