<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 08 Nov 2009 11:13:14 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/feed" rel="self" type="application/rss+xml" />
    <title>Intel Software Network - <![CDATA[ Intel® Fortran Compiler for Linux and Mac OS* X ]]> feed</title>
    <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Graphical idb error (not find start.s)</title>
      <description><![CDATA[ I'm using intel fortran 11.1.056 on Ubuntu 9.10<br /><br />If I compile with -g option and run with idb in graphic mode<br /><br />it said as follows.<br /><br />Unable to locate source file "/build/buildd/eglibc-2.10.1/sysdeps/x86_64/elf/start.S"<br />Do you like to search for it manually?<br /><br />Is there any solution to solve this problem ? ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69747/</link>
      <pubDate>Sun, 08 Nov 2009 07:19:40 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69747/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>error #8032: Generic procedure reference has two or more specific procedure with the same type/rank/keyword signature</title>
      <description><![CDATA[ Hi,<br /><br />I am trying to compile my code on a linux platform, migrating from an IRIX box that served me faithfully for the last 7-8 years. <br /><br />When compling the code below, (I show only the relevant part), using the following compiler options:<br /><br />mpif90 -std -fpconstant -g -traceback -debug -O0 -fpe0 -check_bounds gs_module.f90<br /><br />I get these warnings and then errors:<br /><br />gs_module.f90(14): warning #6738: The type/rank/keyword signature for this specific procedure matches another specific procedure that shares the same generic-name.   [SCATTER_MODULE^MAX_SCATTER_VECTOR_DOUBLE]                                <br /> use scatter_module, only: SUM_SCATTER, MIN_SCATTER, MAX_SCATTER, OR_SCATTER   <br />------^                                                                         <br />gs_module.f90(258): error #8032: Generic procedure reference has two or more specific procedure with the same type/rank/keyword signature.   [GATHER]           <br /> call gather (Dest, Src, Mesh, TYPE = EE, TRACE = EE_TRACE, &amp;                <br />---------^                                                                      <br />gs_module.f90(293): error #8032: Generic procedure reference has two or more specific procedure with the same type/rank/keyword signature.   [GATHER]           <br /> call gather (Dest, Src, Mesh, TYPE = EE, TRACE = EE_TRACE, &amp;                <br />---------^                                                                      <br /><br />I would welcome any solution to this compiling error (I care less about the warnings).<br /><br />Thanks,<br /><br />Adrian<br /><br />MODULE GS_MODULE<br /> !=======================================================================<br /> ! Purpose(s):<br /> !<br /> !   Define the interfaces and global variables <br /> !   for the gather/scatter support<br /> !<br /> !=======================================================================<br /> use gather_module,  only: GATHER<br /> use gs_info_module, only: EN_TRACE, EE_TRACE, EN, EE<br /> use kind_module,    only: log_kind<br /> use parameter_module<br /> use scatter_module, only: SUM_SCATTER, MIN_SCATTER, MAX_SCATTER, OR_SCATTER<br /> implicit none<br /> ! Private Module<br /> private<br /> ! Public procedures<br /> Public :: EE_Gather, EN_Gather, EN_MIN_Gather, EN_MAX_Gather, EN_OR_Gather, &amp;<br /> EN_SUM_Scatter, EN_MIN_Scatter, EN_MAX_Scatter, EN_OR_Scatter,    &amp;<br /> EE_GS_INIT, EN_GS_INIT<br /> ! Arrays and variables used only inside this module<br /> logical(KIND = log_kind), save, private, pointer, dimension(:,:) :: El_Nbr_MASK<br /> logical(KIND = log_kind), save, private :: EE_MASK_Initialized = .false.<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br /> ! Interface blocks<br /> INTERFACE EE_GATHER<br /> !=======================================================================<br /> ! Purpose - <br /> !   Gather integer cell-centered data from cell face neighbors<br /> !   into a integer cell-centered vector of length nfc<br /> !   <br /> !    Input: <br /> !          Mesh - Mesh connectivity structure<br /> !          Src  - Cell-centered quantity <br /> !   Output: <br /> !          Dest - Cell-centered vector of length nfc containing<br /> !                 the value of Src for all face neighbor cells<br /> !          <br /> !=======================================================================<br /> MODULE PROCEDURE EE_GATHER_INT<br /> MODULE PROCEDURE EE_GATHER_SINGLE<br /> MODULE PROCEDURE EE_GATHER_DOUBLE<br /> END INTERFACE<br /> !========== EE_GATHER_INT========================================<br />! This is included by gs_module for the top level gather routines.<br />! This is the parallel version<br /> SUBROUTINE EE_GATHER_INT (Dest, Src, BOUNDARY)<br /> !=======================================================================<br /> ! PURPOSE - <br /> !<br /> !=======================================================================<br /> use gs_info_module, only: EE_TRACE, EE<br /> use kind_module<br /> use mesh_module,    only: Mesh<br /> use pgslib_module,  only: PGSLib_GS_Trace_Setup_P<br /> implicit none<br /> ! Incoming Arguments<br /> integer (int_kind) , intent(IN   ),                               &amp;<br /> dimension (ncells)                              :: Src<br /> integer (int_kind) , intent(  OUT),                               &amp;<br /> dimension (nfc,ncells)                              :: Dest<br /> integer (int_kind) , dimension (:),                             &amp;         <br /> POINTER,                                     &amp;<br /> OPTIONAL                                     :: BOUNDARY<br /> ! Local Variables<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br /> ! Initialize relevant quantities<br /> Dest = 0_int_kind<br /> IF (.NOT. EE_MASK_Initialized) then<br /> EE_MASK_Initialized = .true.<br /> call gs_init_ee_mask()<br /> END IF<br /> IF (.NOT. PGSLib_GS_Trace_Setup_P(EE_Trace)) Call EE_GS_Init()<br /> call gather (Dest, Src, Mesh, TYPE = EE, TRACE = EE_TRACE, &amp;<br /> MASK = El_Nbr_Mask, BOUNDARY = BOUNDARY)<br /> return<br /> END SUBROUTINE EE_GATHER_INT<br /> !========== EE_GATHER_SINGLE========================================<br />! This is included by gs_module for the top level gather routines.<br />! This is the parallel version<br /> SUBROUTINE EE_GATHER_SINGLE (Dest, Src, BOUNDARY)<br /> !=======================================================================<br /> ! PURPOSE - <br /> !<br /> !=======================================================================<br /> use gs_info_module, only: EE_TRACE, EE<br /> use kind_module<br /> use mesh_module,    only: Mesh<br /> use pgslib_module,  only: PGSLib_GS_Trace_Setup_P<br /> implicit none<br /> ! Incoming Arguments<br /> real (single_kind) , intent(IN   ),                               &amp;<br /> dimension (ncells)                              :: Src<br /> real (single_kind) , intent(  OUT),                               &amp;<br /> dimension (nfc,ncells)                              :: Dest<br /> real (single_kind) , dimension (:),                             &amp;         <br /> POINTER,                                     &amp;<br /> OPTIONAL                                     :: BOUNDARY<br /> ! Local Variables<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br /> ! Initialize relevant quantities<br /> Dest = 0.0_single_kind<br /> IF (.NOT. EE_MASK_Initialized) then<br /> EE_MASK_Initialized = .true.<br /> call gs_init_ee_mask()<br /> END IF<br /> IF (.NOT. PGSLib_GS_Trace_Setup_P(EE_Trace)) Call EE_GS_Init()<br /> call gather (Dest, Src, Mesh, TYPE = EE, TRACE = EE_TRACE, &amp;<br /> MASK = El_Nbr_Mask, BOUNDARY = BOUNDARY)<br /> return<br /> END SUBROUTINE EE_GATHER_SINGLE<br /> !========== EE_GATHER_DOUBLE========================================<br />! This is included by gs_module for the top level gather routines.<br />! This is the parallel version<br /> SUBROUTINE EE_GATHER_DOUBLE (Dest, Src, BOUNDARY)<br /> !=======================================================================<br /> ! PURPOSE - <br /> !<br /> !=======================================================================<br /> use gs_info_module, only: EE_TRACE, EE<br /> use kind_module<br /> use mesh_module,    only: Mesh<br /> use pgslib_module,  only: PGSLib_GS_Trace_Setup_P<br /> implicit none<br /> ! Incoming Arguments<br /> real (double_kind) , intent(IN   ),                               &amp;<br /> dimension (ncells)                              :: Src<br /> real (double_kind) , intent(  OUT),                               &amp;<br /> dimension (nfc,ncells)                              :: Dest<br /> real (double_kind) , dimension (:),                             &amp;         <br /> POINTER,                                     &amp;<br /> OPTIONAL                                     :: BOUNDARY<br /> ! Local Variables<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br /> ! Initialize relevant quantities<br /> Dest = 0.0_double_kind<br /> IF (.NOT. EE_MASK_Initialized) then<br /> EE_MASK_Initialized = .true.<br /> call gs_init_ee_mask()<br /> END IF<br /> IF (.NOT. PGSLib_GS_Trace_Setup_P(EE_Trace)) Call EE_GS_Init()<br /> call gather (Dest, Src, Mesh, TYPE = EE, TRACE = EE_TRACE, &amp;<br /> MASK = El_Nbr_Mask, BOUNDARY = BOUNDARY)<br /> return<br /> END SUBROUTINE EE_GATHER_DOUBLE<br /><br />END MODULE GS_MODULE<br /><br />=================<br /><br />the other module where gather is defined<br /><br />MODULE GATHER_MODULE<br /> !=======================================================================<br /> ! PURPOSE - <br /> !   Routines for gather.  These are used by both <br /> !   Element&lt;-&gt;Element and Element&lt;-&gt;Node.<br /> ! <br /> !=======================================================================<br /> use gs_info_module<br /> use pgslib_module,     ONLY: PGSLib_GS_Struct, PGSLib_Gather_Buffer<br /> <br /> implicit none<br /> save<br /> public :: Gather<br /> ! Interface blocks<br /> INTERFACE Gather<br /> !=======================================================================<br /> ! PURPOSE - <br /> !   Gather either cell-centered data or vertex centered data<br /> !   into a cell-centered vector of length ShortDim<br /> !   <br /> !    Input: <br /> !          Mesh - Mesh connectivity structure<br /> !          Src  - Cell or vertex -centered quantity <br /> !   Output: <br /> !          Dest - Cell-centered vector of length ShortDim containing<br /> !                 the value of Src for all neighbors<br /> !          <br /> !=======================================================================<br /> MODULE PROCEDURE Gather_INT<br /> MODULE PROCEDURE Gather_SINGLE<br /> MODULE PROCEDURE Gather_DOUBLE<br /> END INTERFACE<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br />CONTAINS<br /> !=======================================================================<br /> ! PURPOSE - <br /> !   Gather either cell-centered data or vertex centered integer data<br /> !   into an integer cell-centered vector of length ShortDim<br /> !=======================================================================<br /> SUBROUTINE GATHER_INT (Dest, Src, Mesh, TYPE, TRACE, BOUNDARY, MASK)<br /> !=======================================================================<br /> ! PURPOSE - <br /> !   Gather either cell-centered data or vertex centered integer data<br /> !   into a integer (int_kind) cell-centered vector of length ShortDim<br /> !=======================================================================<br /> use error_module, only: PUNT<br /> use kind_module<br /> use mesh_module,  only: MESH_CONNECTIVITY, CllNgbr, Vrtx<br /> implicit none<br /> ! Arguments<br /> integer (int_kind)             , dimension(:,:),                        &amp;<br /> intent(OUT)                            :: Dest<br /> integer (int_kind)             , dimension(:),                          &amp;<br /> intent(IN)                             :: Src<br /> type(MESH_CONNECTIVITY),  dimension(SIZE(Dest,2)),               &amp;<br /> intent(IN)                             :: Mesh<br /> integer (int_kind)             , dimension(:),                          &amp;         <br /> POINTER,                               &amp;<br /> OPTIONAL                               :: BOUNDARY<br /> logical(KIND = log_kind), dimension(SIZE(Dest,1), SIZE(Dest,2)), &amp;<br /> intent(IN ),                           &amp;<br /> OPTIONAL                               :: MASK<br /> type (COMM_TYPE),         intent(IN   )                          :: TYPE<br /> type (PGSLib_GS_Struct), intent(IN) :: Trace<br /> ! Local scalars &amp; arrays<br /> integer(KIND = int_kind) :: f, c<br /> logical(KIND = log_kind) :: PRESENT_MASK, TEMP_BOUNDARY, NEW_BOUNDARY<br /> integer (int_kind),        POINTER,         dimension(:) :: Supplement_Data<br /> integer (int_kind),        dimension(Trace%N_Duplicate)  :: Duplicate_Data<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br /> ! Initialize relevant quantities<br /> PRESENT_MASK = PRESENT(MASK)<br /> ! If BOUNDARY is not passed in, then we have to use a local<br /> ! boundaray.  If BOUNDARY is passed in, then if it is NULL<br /> TEMP_BOUNDARY = .NOT. PRESENT(BOUNDARY)<br /> ! If the BOUNDARY is associated, use it, otherwise get new boundary data.<br /> IF (TEMP_BOUNDARY) THEN<br /> NEW_BOUNDARY   = .TRUE.<br /> ELSE<br /> NEW_BOUNDARY   = .NOT. ASSOCIATED(BOUNDARY)<br /> ENDIF<br /> IF (NEW_BOUNDARY) THEN<br /> ALLOCATE(Supplement_Data(Trace%N_Supplement))<br /> IF (.NOT. TEMP_BOUNDARY) BOUNDARY =&gt; Supplement_Data<br /> ! Gather into comm buffer<br /> Duplicate_Data = Src(Trace%Duplicate_Indices)<br /> ELSE<br /> ! If we were passed in a boundary, and it was allocated already,<br /> ! then us it<br /> IF (.NOT. TEMP_BOUNDARY) Supplement_Data =&gt; BOUNDARY <br /> END IF<br /> <br /> IF (TEMP_BOUNDARY) DEALLOCATE(Supplement_Data)<br /> return<br /> END SUBROUTINE GATHER_INT<br /> <br /> !=======================================================================<br /> ! PURPOSE - <br /> !   Gather either cell-centered data or vertex centered single data<br /> !   into a single cell-centered vector of length ShortDim<br /> !=======================================================================<br />! This is included for the gather routines.<br />! This is the parallel version<br /> SUBROUTINE GATHER_SINGLE (Dest, Src, Mesh, TYPE, TRACE, BOUNDARY, MASK)<br /> !=======================================================================<br /> ! PURPOSE - <br /> !   Gather either cell-centered data or vertex centered integer data<br /> !   into a real (single_kind) cell-centered vector of length ShortDim<br /> !=======================================================================<br /> use error_module, only: PUNT<br /> use kind_module<br /> use mesh_module,  only: MESH_CONNECTIVITY, CllNgbr, Vrtx<br /> implicit none<br /> ! Arguments<br /> real (single_kind)             , dimension(:,:),                        &amp;<br /> intent(OUT)                            :: Dest<br /> real (single_kind)             , dimension(:),                          &amp;<br /> intent(IN)                             :: Src<br /> type(MESH_CONNECTIVITY),  dimension(SIZE(Dest,2)),               &amp;<br /> intent(IN)                             :: Mesh<br /> real (single_kind)             , dimension(:),                          &amp;         <br /> POINTER,                               &amp;<br /> OPTIONAL                               :: BOUNDARY<br /> logical(KIND = log_kind), dimension(SIZE(Dest,1), SIZE(Dest,2)), &amp;<br /> intent(IN ),                           &amp;<br /> OPTIONAL                               :: MASK<br /> type (COMM_TYPE),         intent(IN   )                          :: TYPE<br /> type (PGSLib_GS_Struct), intent(IN) :: Trace<br /> ! Local scalars &amp; arrays<br /> integer(KIND = int_kind) :: f, c<br /> logical(KIND = log_kind) :: PRESENT_MASK, TEMP_BOUNDARY, NEW_BOUNDARY<br /> real (single_kind),        POINTER,         dimension(:) :: Supplement_Data<br /> real (single_kind),        dimension(Trace%N_Duplicate)  :: Duplicate_Data<br /> ! &lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;<br /> ! Initialize relevant quantities<br /> PRESENT_MASK = PRESENT(MASK)<br /> ! If BOUNDARY is not passed in, then we have to use a local<br /> ! boundaray.  If BOUNDARY is passed in, then if it is NULL<br /> TEMP_BOUNDARY = .NOT. PRESENT(BOUNDARY)<br /> ! If the BOUNDARY is associated, use it, otherwise get new boundary data.<br /> IF (TEMP_BOUNDARY) THEN<br /> NEW_BOUNDARY   = .TRUE.<br /> ELSE<br /> NEW_BOUNDARY   = .NOT. ASSOCIATED(BOUNDARY)<br /> ENDIF<br /> IF (NEW_BOUNDARY) THEN<br /> ALLOCATE(Supplement_Data(Trace%N_Supplement))<br /> IF (.NOT. TEMP_BOUNDARY) BOUNDARY =&gt; Supplement_Data<br /> ! Gather into comm buffer<br /> Duplicate_Data = Src(Trace%Duplicate_Indices)<br /> ELSE<br /> ! If we were passed in a boundary, and it was allocated already,<br /> ! then us it<br /> IF (.NOT. TEMP_BOUNDARY) Supplement_Data =&gt; BOUNDARY <br /> END IF<br /> <br /> IF (TEMP_BOUNDARY) DEALLOCATE(Supplement_Data)<br /> return<br /> END SUBROUTINE GATHER_SINGLE<br /> <br />END MODULE GATHER_MODULE<br /><br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69741/</link>
      <pubDate>Sat, 07 Nov 2009 16:43:41 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69741/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Install under Slackware64 13</title>
      <description><![CDATA[ Hi Forum<br /><br />I want to Install the noncommercial version of icc/ifort and mkl in my Slakware box, so far I have been using the -norpm flag with Install.sh script, It shows the install options ment, defaulting to show the license agreement, which i accept, and exits to shell instead of continuing...<br /><br />... What must i do to have the Intel Development suite installed in my Slack...?<br /><br />BRGDS<br /><br />Alex ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69732/</link>
      <pubDate>Fri, 06 Nov 2009 16:12:53 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69732/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Epoch to Calendar</title>
      <description><![CDATA[ I have been trying to write my own converter that allows me to convert from epoch seconds to YYYYMMDD. Not going well. My question is there a converter in fortran that will do this for me? Or does someone have a code line that works? ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69728/</link>
      <pubDate>Fri, 06 Nov 2009 14:29:30 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69728/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>performance penalty for -fPIC, -shared, or derived data types?</title>
      <description><![CDATA[ Hello,<br /><br />I have two chunks of code here that are reading the same ~800 MB unformatted binary file.  The file in question is sequentially-accessed and has variable record lengths.  Both codes are compiled at the same optimization level with the 11.1 version of the Intel Fortran compiler.  Both codes have something to the effect of:<br /><br /> write(*,*) "reading"<br />do g1=1,igm<br /> do k1=1,km<br /> read(read_unit) data(file)%flux_3d(g1,:,:,k1)<br /> enddo<br />enddo<br /> write(*,*) "done reading"<br /><br />However, one code appears to be completing this operation about 10-20 times faster than the other.  (Determined using a series of unscientific "stopwatch" tests.)  The one that seems to be moving more slowly is compiled with -fPIC, loaded into a shared object, and reads the data into a derived type.  Could any of this be causing the performance discrepancy, or is something else probably at work here?<br /><br />Thanks,<br />Greg<br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69725/</link>
      <pubDate>Fri, 06 Nov 2009 12:54:30 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69725/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>undefined symbols problem</title>
      <description><![CDATA[ Hi, I am using Intel Fortran v11.0.67 on a Mac with OS 10.5.8, and gcc version 4.0.1 (Apple Inc. build 5493). I recently installed MPICH with your help (thanks again!) to run a code that requires MPI although it is actually running on a single processor. The makefile for this code is given at the end of this message (sorry but I couldnt figure out how to upload it). <br /><br />The problem I am having is that the subroutines and modules compile OK, but then I get the following error messages:<br /><br />Undefined symbols:<br /> "_amr_1blk_guardcell_srl_", referenced from:<br /> _amr_1blk_guardcell_ in mpi_amr_1blk_guardcell.o<br /> _amr_1blk_guardcell_ in mpi_amr_1blk_guardcell.o<br /> "_amr_1blk_cc_prol_gen_work_fun_", referenced from:<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _amr_prolong_ in mpi_amr_prolong.o<br /> "_amr_1blk_cc_prol_gen_unk_fun_", referenced from:<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _amr_prolong_ in mpi_amr_prolong.o<br /> "_amr_1blk_fc_prol_gen_fun_", referenced from:<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _mpi_amr_1blk_guardcell_c_to_f_ in mpi_amr_1blk_guardcell_c_to_f.o<br /> _amr_prolong_ in mpi_amr_prolong.o<br /> _amr_prolong_ in mpi_amr_prolong.o<br /> _amr_prolong_ in mpi_amr_prolong.o<br />ld: symbol(s) not found<br /><br />The "undefined symbols" are subroutine names, but the subroutines themselves have been compiled successfully (you can see them listed in the makefile, and I checked the compile output to make sure the object files were created). I found somewhat similar problems in earlier Forum postings, but no answers that were sufficiently general to provide a solution for me. If you could point me in the right direction to determine what is going on, I'd be most grateful!<br /><br />regards, Judy K<br />----------------------------makefile below-------------------<br /># This makefile was designed to compile a users application with<br /># the amr package on an Intel processor. The amr package is assumed to<br /># be located in a sub-directory tree rooted at the sub-directory<br /># specified as AMRDIR below. The amr source files are assumed to<br /># be in the sub-directory AMRDIR/source and the required header<br /># files in AMRDIR/headers. The users own application source and <br /># headers files are assumed to be in the same sub-directory as <br /># this makefile.<br /><br /><br /># specify path to amr top directory                             USER EDIT<br />AMRDIR = ..<br /><br /># define the application specific object files required         USER EDIT<br />APP_OBJS= loop_coarse.nosh.o\<br /> area_subs_uniform.nosh.o \<br /> output_soln_area.nosh.o \<br /> read_dump.nosh.o \<br /> dump_for_restart.nosh.o \<br /> nthermal_area.jakrad.nosh.o \<br /> ntrislv.nosh.o \<br /> nadvect_muscl_area.lesh.o \<br /> ninitial_muscl_area.jtknosh.o \<br /> solar_initial.nosh.o \<br /> muscl_lib_area.nosh.o \<br /> ngravity_lookup.nosh.o \<br /> cfd1d_area.nosh.o \<br /> rieman04_area.nosh.o \<br /> amr_bc_block.nosh.o \<br /> amr_1blk_bcset_area.nosh.o \<br /> rheapsort.nosh.o \<br /> amr_test_refinement.nosh.o<br /><br /># list of modules required by the code<br />APP_MODULES= \<br /> paramesh_dimensions.o \<br /> paramesh_interfaces.o \<br /> physicaldata.o \<br /> prolong_arrays.o \<br /> timings.o \<br /> tree.o \<br /> workspace.o \<br /> io.o \<br /> constants.o \<br /> paramesh_comm_data.o \<br /> mpi_morton.o \<br /> paramesh_mpi_interfaces.o \<br /> module_constants.o \<br /> module_gravtable.o \<br /> module_loopparams.o \<br /> module_padded_block.o \<br /> module_pointers.o \<br /> accel.o \<br /> storage.o<br /># module_tracer.o <br /># module_workspace.o \<br /># module_amr_shmem.o \<br /># module_shmem_reduce.o \<br /># module_physicaldata.o  \<br /># module_tree.o \<br /><br /># sets the list of object files needed from the amr source - DO NOT ALTER<br />AMR_OBJS= \<br /> amr_1blk_cc_cp_remote.o  \<br /> amr_1blk_cc_prol_gen_unk_fun.o  \<br /> amr_1blk_cc_prol_inject.o  \<br /> amr_1blk_cc_prol_linear.o  \<br /> amr_1blk_cc_prol_genorder.o \<br /> amr_1blk_cc_prol_user.o \<br /> amr_1blk_cc_prol_gen_work_fun.o \<br /> amr_1blk_cc_prol_work_inject.o \<br /> amr_1blk_cc_prol_work_linear.o \<br /> amr_1blk_cc_prol_work_genorder.o \<br /> amr_1blk_cc_prol_work_user.o \<br /> amr_1blk_copy_soln.o    \<br /> amr_1blk_ec_cp_remote.o \<br /> amr_1blk_ec_prol_gen_fun.o \<br /> amr_1blk_ec_prol_genorder.o \<br /> amr_1blk_ec_prol_user.o \<br /> amr_1blk_ec_prol_linear.o \<br /> amr_1blk_fc_prol_dbz.o \<br /> clean_field.o \<br /> poisson_sor.o \<br /> amr_1blk_fc_clean_divb.o \<br /> amr_1blk_fc_cp_remote.o \<br /> amr_1blk_fc_prol_gen_fun.o \<br /> amr_1blk_fc_prol_inject.o \<br /> amr_1blk_fc_prol_linear.o \<br /> amr_1blk_fc_prol_genorder.o \<br /> amr_1blk_fc_prol_user.o \<br /> amr_1blk_guardcell_reset.o \<br /> amr_1blk_guardcell_srl.o \<br /> set_f2c_indexes.o \<br /> amr_1blk_nc_cp_remote.o \<br /> amr_1blk_nc_prol_gen_fun.o \<br /> amr_1blk_nc_prol_genorder.o \<br /> amr_1blk_nc_prol_user.o \<br /> amr_1blk_nc_prol_linear.o \<br /> amr_1blk_save_soln.o \<br /> amr_1blk_t_to_perm.o \<br /> amr_1blk_to_perm.o \<br /> amr_bcset_init.o \<br /> amr_block_geometry.o \<br /> user_coord_transfm.o \<br /> amr_close.o \<br /> amr_initialize.o \<br /> amr_set_runtime_parameters.o \<br /> amr_mpi_find_blk_in_buffer.o \<br /> amr_perm_to_1blk.o \<br /> amr_prolong_cc_fun_init.o \<br /> amr_prolong_face_fun_init.o \<br /> amr_prolong_fun_init.o \<br /> amr_reorder_grid.o \<br /> amr_restrict_ec_fun.o \<br /> amr_restrict_ec_genorder.o \<br /> amr_restrict_ec_user.o \<br /> amr_restrict_edge.o \<br /> amr_restrict_fc_fun.o \<br /> amr_restrict_fc_genorder.o \<br /> amr_restrict_fc_user.o \<br /> amr_restrict_red.o \<br /> amr_restrict_unk_fun.o \<br /> amr_restrict_unk_genorder.o \<br /> amr_restrict_unk_user.o \<br /> amr_restrict_nc_fun.o \<br /> amr_restrict_nc_user.o \<br /> amr_restrict_nc_genorder.o \<br /> amr_restrict_work_fun.o \<br /> amr_restrict_work_genorder.o \<br /> amr_restrict_work_user.o \<br /> amr_restrict_work_fun_recip.o \<br /> amr_system_calls.o \<br /> amr_q_sort.o \<br /> amr_q_sort_real.o \<br /> mpi_amr_singular_line.o \<br /> mpi_amr_1blk_guardcell.o \<br /> mpi_amr_1blk_guardcell_c_to_f.o \<br /> mpi_amr_1blk_restrict.o \<br /> mpi_amr_comm_setup.o \<br /> mpi_amr_edge_average.o \<br /> mpi_amr_edge_average_udt.o \<br /> mpi_amr_edge_average_vdt.o \<br /> mpi_amr_edge_diagonal_check.o \<br /> mpi_amr_flux_conserve.o \<br /> mpi_amr_flux_conserve_udt.o \<br /> mpi_amr_flux_conserve_vdt.o \<br /> mpi_amr_get_remote_block.o \<br /> mpi_amr_get_remote_block_fvar.o \<br /> mpi_amr_global_domain_limits.o \<br /> mpi_amr_guardcell.o \<br /> mpi_amr_local_surr_blks_lkup.o \<br /> mpi_amr_prolong.o \<br /> mpi_amr_prolong_fc_divbconsist.o \<br /> mpi_amr_refine_derefine.o \<br /> amr_morton_process.o \<br /> local_tree.o \<br /> find_surrblks.o \<br /> local_tree_build.o \<br /> tree_search_for_surrblks.o \<br /> mpi_amr_restrict.o \<br /> mpi_amr_restrict_fulltree.o \<br /> mpi_amr_restrict_bnd_data_vdt.o \<br /> mpi_amr_restrict_edge_data_vdt.o \<br /> mpi_amr_store_comm_info.o \<br /> mpi_amr_timing_report.o \<br /> mpi_amr_tree_setup.o \<br /> mpi_get_buffer.o \<br /> mpi_get_edge_buffer.o \<br /> mpi_get_flux_buffer.o \<br /> mpi_morton_bnd.o \<br /> process_fetch_list.o \<br /> compress_fetch_list.o \<br /> mpi_morton_bnd_fluxcon.o \<br /> mpi_morton_bnd_prolong.o \<br /> mpi_morton_bnd_restrict.o \<br /> mpi_pack_blocks.o \<br /> mpi_unpack_blocks.o \<br /> mpi_put_buffer.o \<br /> mpi_pack_edges.o \<br /> mpi_pack_fluxes.o \<br /> mpi_put_edge_buffer.o \<br /> mpi_put_edge_buffer_1blk.o \<br /> mpi_put_flux_buffer.o \<br /> mpi_set_message_limits.o \<br /> mpi_set_message_sizes.o \<br /> mpi_unpack_edges.o \<br /> mpi_unpack_fluxes.o \<br /> rationalize_fetch_list.o \<br /> mpi_amr_checkpoint_wr.o \<br /> mpi_amr_checkpoint_re.o \<br /> mpi_amr_checkpoint_wr_default.o \<br /> mpi_amr_checkpoint_re_default.o \<br /> mpi_amr_checkpoint_wr_hdf5.o \<br /> mpi_amr_checkpoint_re_hdf5.o \<br /> mpi_amr_checkpoint_wr_mpiio.o \<br /> mpi_amr_checkpoint_re_mpiio.o \<br /> read_blocks_hdf5_r4.o \<br /> read_blocks_hdf5_r8.o \<br /> write_blocks_hdf5_r4.o \<br /> write_blocks_hdf5_r8.o \<br /> mpi_amr_plotfile_chombo.o \<br /> write_blocks_chombo_r4.o \<br /> write_blocks_chombo_r8.o \<br /> mpi_amr_derefine_blocks.o \<br /> mpi_amr_check_derefine.o \<br /> amr_morton_order.o \<br /> amr_compute_morton.o \<br /> amr_sort_morton.o \<br /> amr_sort_morton_reorder_grid.o \<br /> amr_sort_by_work.o \<br /> amr_migrate_tree_data.o \<br /> fill_old_loc.o \<br /> morton_sort.o \<br /> mpi_amr_redist_blk.o \<br /> send_block_data.o \<br /> mpi_amr_refine_blocks.o \<br /> amr_check_refine.o \<br /> mpi_amr_restrict_bnd_data.o \<br /> mpi_amr_restrict_edge_data.o \<br /> mpi_amr_boundary_block_info.o \<br /> mpi_amr_test_neigh_values.o \<br /> mpi_lib.o \<br /> mpi_pack_tree_info.o \<br /> mpi_unpack_tree_info.o \<br /> mpi_wrapper_int.o \<br /> mpi_wrapper_logical.o \<br /> mpi_wrapper_real.o \<br /> mpi_wrapper_dble.o \<br /> namr_shmem_lib_1proc.o <br /><br />.SUFFIXES : .F90 .c .F .f .o<br /><br />.F90.o :<br /> $(FC) $(FFLAGS) -c $&lt;<br />.F.o :<br /> $(FC) $(FFLAGS) -c $&lt;<br />.f.o :<br /> $(FC) $(FFLAGS) -c $&lt;<br />.c.o :<br /> $(CC) $(CFLAGS) -c $&lt;<br /><br /><br /># Tunable parameters<br />#<br /># FC        Name of the fortran compiling system to use<br /># CC            Name of C compiler<br /># LDFLAGS    Flags to the loader<br /># LIBS        List of libraries<br /># CMD        Name of the executable<br /># PROFLIB    Library needed for profiling<br />#--------------------------<br /># For running on the intel fortran compiler <br />#FC = ifort<br />FC = mpif90<br />CC = mpicc<br />#----------------------<br />LIBS =<br />CMD =        condense<br />PROFLIB =    <br /><br />#for intel fortran compiler. <br />FFLAGS = -w -fpp1 -axSSSE3 -O3 -pad -align -prefetch -r8 -rdynamic<br />#for g95 fortran compiler. <br />#FFLAGS = -O3 -r8 -i4 -fbounds-check -ftrace=full<br /><br /># for gcc compiler<br />CFLAGS = -O -I../headers <br /><br />#    USER EDIT<br /><br /># end test <br />#----------------------------------------------------------<br /><br /><br /># Lines from here on down should not need to be changed.  They are the<br /># actual rules which make uses to build the command<br />#<br />shmem:        $(CMD)<br /><br />$(CMD):        $(APP_MODULES) $(AMR_OBJS) $(APP_OBJS)<br /> $(FC) $(LDFLAGS) -o $(@) $(APP_MODULES) $(APP_OBJS) $(AMR_OBJS) $(LIBS)<br /><br /><br />$(AMR_OBJS): $(APP_MODULES)<br />$(APP_OBJS): $(APP_MODULES)<br /><br />clean:<br /> @rm -f *.o<br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69719/</link>
      <pubDate>Fri, 06 Nov 2009 10:18:50 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69719/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Problem while installing the Product for IA-32/Intel® 64</title>
      <description><![CDATA[ <span style="font-family: Arial,Helvetica;">Following messages have come while installing the intel fortran compile.<br /><br />"Missing optional pre-requisites<br />-No compatible java* Runtime Environment (JRE) found'.<br /><br /><br />Even I have installed the JRE ( jre-1.5.0_06) and the path of the jre is included in .bashrc file, I am receiving the same above message while installing the fortran compiler.<br /><br />I need advice for  solving this problem. <br /><br /><br />with kind regards<br />R.K. nayak<br /></span> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69709/</link>
      <pubDate>Fri, 06 Nov 2009 03:57:16 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69709/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>ifort produces different binaries  from the same source at two diffrent timepoints</title>
      <description><![CDATA[ Hello,<br /><br />I use ifort in conjunction with -fpp flag since there is some preprocessing in the code. The preprocessing directives are all of #ifndef #endif type, to include or exclude pieces of code according to my desires.<br /><br />I have noticed that with -fpp, each time I compile the code I get a different executable. This was checked by using cmp compand on Linux.<br />Without preprocessing, the produced binaries  are identical.<br /><br />To be completely precise,I compare, of course, preprocessed to preprocessed instances, and the same for non-preprocessed.<br /><br />What could be the reason for the differences, when the code, optimisation et al. is always the same?<br /><br />The compiler version is 10.1, and it works on a Linux cluster (i don't have all the specific details for the platform, if requested i'll bother the cluster support guys) ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69707/</link>
      <pubDate>Fri, 06 Nov 2009 03:06:14 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69707/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Yet another stack overflow...</title>
      <description><![CDATA[ Hello people!<br /><br /> I am using Debian Linux with te ifort version 10.1 and am developing a procedure for scientific purposes that explores a cluster of elements on some sort of a mathematical graph and extracts some information about that cluster. The procedure is recursive and it works fine up till some limiting size of the cluster (about 500000 elements in the cluster). When the size is exceeded the stack overflows and the program breaks. I am aware that it has to break at some point and I am fine with that, but what I do not understand is the fact that I can not postpone this ocurrence. What it says is:<br /><br />"forrtl: severe (174): SIGSEGV, segmentation fault occurred"<br /><br /> I first I have reduced considerably the variables in the recusrsive procedure and it did not help at all, secondly I have tried to send instructions to "ld" to increase stack size by including a switch "-Xlinker --stack xxx" in the ifort command and it said "ld: unrecognized option '--stack'" which is curious since that switch can be found in the man pages of ld. The third thing I tried is using "ulimit -s unlimited" command and hence increased the stack size within bash - still no help to my problem. And one more thing, I am pretty sure that none of my integer variables exceed their max values.<br /><br /> The curious thing is that the program uses the same amount of ram in all the cases which is much less (150mb) than the amount of ram on my computer at the time it breaks. I wonder why does he not allocate the additional ram if he needs it? I was wondering if somebody has some insight in the way the recursive subroutines compile with ifort and has a solution of some sort. Remember, I do not need magic, I just want it to break because it has no more ram available if it has to break because of something :). I would rather not have to decompose the thing in do loops if I can somehow increase the available memory by manipulating ifort and/or linker commands.<br /><br />Thanks very much in advance, Ivan Balog. ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69704/</link>
      <pubDate>Fri, 06 Nov 2009 01:20:00 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69704/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Segfault on stdout OR terminal output WRITE(6,*) ??</title>
      <description><![CDATA[ I am a fairly experienced fortran programmer, but I have never seen this before.  Probably because the implimentation here is a little slapped-together, and for a full-fledged project things would be different.  Here is the problem:<br /><br /><br />I have a fairly small optimization routine, in fortran, that is compiled by commands from a perl script.  Ultimately this fortran routine is run and the output (a series of WRITE(6,*)) is read in by the perl script through a basic $values = `./a.out stuff...` type command.  THis has been working fine for weeks.<br /><br />I changed a few things (more outputs), and now the program segfaults, seemingly at random (anywhere from 3 - 30 loops will go by running the system command just fine and then one will fail)<br /><br /> WRITE(12,'(/,''  ****   RESULTS AFTER SA   ****   '')')      <br /> CALL PRTVEC(XOPT,N,'SOLUTION')<br /> WRITE(12,'(A)')'THIS TEXT DOES NOT CAUSE PROBLEM'<br /> CALL PRTVEC(VM,N,'FINAL STEP LENGTH')<br /> WRITE(12,'(A)')'NOR THIS'<br /> WRITE(12,1001) FOPT, NFCNEV, NACC, NOBDS, T, IER<br /> <br />1000     FORMAT(/,' SIMULATED ANNEALING EXAMPLE',/,&amp;<br /> /,' NUMBER OF PARAMETERS: ',I3,'   MAXIMAZATION: ',L5,&amp;<br /> /,' INITIAL TEMP: ', G8.2, '   RT: ',G8.2, '   EPS: ',G8.2,&amp;<br /> /,' NS: ',I3, '   NT: ',I2, '   NEPS: ',I2,&amp;<br /> /,' MAXEVL: ',I10, '   IPRINT: ',I1, '   ISEED1: ',I4,&amp;<br /> '   ISEED2: ',I4)<br />1001     FORMAT(/,' OPTIMAL FUNCTION VALUE: ',G20.13&amp;<br /> /,' NUMBER OF FUNCTION EVALUATIONS:     ',I10,&amp;<br /> /,' NUMBER OF ACCEPTED EVALUATIONS:     ',I10,&amp;<br /> /,' NUMBER OF OUT OF BOUND EVALUATIONS: ',I10,&amp;<br /> /,' FINAL TEMP: ', G20.13,'  IER: ', I3)<br /> WRITE(6,'(I5,X)', ADVANCE='no')CL_INT1<br /> WRITE(6,'(I5,X)', ADVANCE='no')CL_INT2<br /> WRITE(6,'(A)')''<br /><br /><br />These WRITE(6) statements never get written, and if the fortran is executed from inside the perl I never even hear the error message - it just hangs and when I kill it a.out is still running in the background doing nothing!  It just sits!  If I take it out on it's own and run it, I get this:<br /><br />forrtl: severe (174): SIGSEGV, segmentation fault occurred<br />Image              PC                Routine            Line        Source             <br />libc.so.6          00007FF84A607E5D  Unknown               Unknown  Unknown<br />libc.so.6          00007FF84A60A4C9  Unknown               Unknown  Unknown<br />libc.so.6          00007FF84A60C7EE  Unknown               Unknown  Unknown<br />libc.so.6          00007FF84A6648E5  Unknown               Unknown  Unknown<br />a.out              000000000044F387  Unknown               Unknown  Unknown<br />a.out              000000000041F385  Unknown               Unknown  Unknown<br />a.out              000000000043B537  Unknown               Unknown  Unknown<br />a.out              0000000000408047  Unknown               Unknown  Unknown<br />a.out              000000000040396C  Unknown               Unknown  Unknown<br />libc.so.6          00007FF84A5B0ABD  Unknown               Unknown  Unknown<br />a.out              0000000000403869  Unknown               Unknown  Unknown<br /><br />I have NO IDEA why this is happening, and all my usual tricks to find where Fortran is unhappy are failing.  And this shouldn't be using THAT much memory.  The only big thing is the output from the subroutine 'SA' which will happily write a thousand megabyte log file.  I don't know if this is related, it hadn't been a problem so far.<br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69697/</link>
      <pubDate>Thu, 05 Nov 2009 15:36:25 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69697/</guid>
      <category>ISN General</category>
    </item>
  </channel></rss>