View Issue Details

IDProjectCategoryView StatusLast Update
0000312OpenFOAMBugpublic2011-10-14 16:11
Reporterwyldckat Assigned Tohenry  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Summary0000312: Icc has problems with src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
DescriptionIntel compiler has problems with the scope given for "defineTemplateTypeNameAndDebug", line 38.

Source of bug report: http://www.cfd-online.com/Forums/openfoam-installation/93141-2-0-1-istallation-problem-using-icc.html

Confirmed the bug with icc (ICC) 12.1.0 20110811 - x86_64
Additional InformationIn the link given in the description is already a possible fix. Another possible one is attached.

I tried searching for similar occurrences and the attached patch is the closest solution I could deduce.
TagsNo tags attached.

Activities

wyldckat

2011-10-09 15:13

updater  

issue312_another_possible_patch (849 bytes)   
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
index 4ec1871..a00addd 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
@@ -28,15 +28,15 @@ License
 
 namespace Foam
 {
-namespace regionModels
-{
-namespace pyrolysisModels
-{
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
-defineTemplateTypeNameAndDebug(IOPtrList<pyrolysisModel>, 0);
+defineTemplateTypeNameAndDebug(IOPtrList<regionModels::pyrolysisModels::pyrolysisModel>, 0);
 
+namespace regionModels
+{
+namespace pyrolysisModels
+{
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 

henry

2011-10-09 19:53

manager   ~0000707

This appears to be a bug in icc rather than OpenFOAM as there does not appear to be anything wrong with the code and it compiles with gcc and I beleive with a previous version of icc. If this is the only occurrence of this problem we could put in a temporary work-around for this particular version of icc and hope that it will be fixed in subsequent versions. I will do a test build with the latest icc this week. Incidentally have you found any benefit in using icc over gcc?

wyldckat

2011-10-09 22:29

updater   ~0000708

I forgot to mention that most of the other occurrences I could find in the current OpenFOAM code seemed to require something like this: summoning the references for the template were mostly direct from the Foam namespace. But then again, I didn't check every single one to confirm if all were like this.

As for testing Icc vs Gcc, personally I've only built OpenFOAM with it the first time today (and using an AMD 1055T, which Icc might not like it very much), but I've seen someone else's timings: http://www.geocities.co.jp/SiliconValley-SantaClara/1183/study/OpenFOAM/Intel_compiler.html - the reported test was done on OpenFOAM 1.7.1 (2011-01-29) and it seems that additional tweaks were made to push things to the limit, but even so Gcc 4.5.0 still had the upper hand on Icc!

My guess is that if Intel's MPI was added to the mix vs OpenMPI, perhaps Intel's technology might have the upper hand...

henry

2011-10-14 16:11

manager   ~0000716

Thanks for the bug report, fixed by
commit 3b961bcd17de5d4264901e65b3c5d5bed89b8f01

Issue History

Date Modified Username Field Change
2011-10-09 15:12 wyldckat New Issue
2011-10-09 15:13 wyldckat File Added: issue312_another_possible_patch
2011-10-09 19:53 henry Note Added: 0000707
2011-10-09 22:29 wyldckat Note Added: 0000708
2011-10-14 16:11 henry Note Added: 0000716
2011-10-14 16:11 henry Status new => resolved
2011-10-14 16:11 henry Resolution open => fixed
2011-10-14 16:11 henry Assigned To => henry