Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Bug in Intel OpenMP?

Tue_B_
Novice
1,273 Views

I believe the following demonstrates a bug in intels openMP parallelization

    program Console1
    use omp_lib
    implicit none
    integer :: pn
    integer :: n,j,NCPUS,i
    NCPUS=8
    call omp_set_num_threads(NCPUS)
    !!$OMP PARALLEL DEFAULT(PRIVATE) SHARED(NCpus) REDUCTION(+:J)
    !J=0
    !!$OMP DO
    !  do i=1,NCpus
    !    J=J+1      
    !  end do   
    !!$OMP END DO
    !!$OMP END PARALLEL
    
    call omp_set_num_threads(1)       !This is here because there used to be a problem in intel Fortran openMP, where the thread pool had to be set to 1 before defining a new threadpool. 
    call omp_set_num_threads(NCPUS)
    
    pn=7
    !$OMP PARALLEL DEFAULT(NONE) SHARED(pn),private(i)
      !$OMP MASTER    
        do i=1,pn
         !$OMP TASK firstprivate(i)
           call sleep(1)
           print*,'Task ',i
         !$OMP END TASK
        end do
        !$OMP TASKWAIT        
      !$OMP END MASTER      
    !$OMP END PARALLEL    
   
    end program Console1

With the first parallel region commented out, (as it is right now in the above example), the second parallel region runs the tasks in parallel as expected, if however the first region is uncommented the second region does not run in parallel. 

I have compiled the above with Visual Fortran Compiler XE 15.0.2.179 [Intel(R) 64].

Can anyone shed some light on this issue (or perhaps just confirm it in the first place), and give me a workaround if any such exist?

0 Kudos
1 Solution
Kevin_D_Intel
Employee
1,273 Views

Now I’m seeing what you are. Initially the compiler version indicated was 15.0.2.179 compiler. The more recent posts show Composer XE 2015.4.221 and when run using the OpenMP library from this release, I get the same results as you.

The problematic libiomp5md.dll is version 5.0.2015.324 (from Composer XE 2015.4.221).

A version that appears to work is an earlier version 5.0.2014.1201 (from Composer XE 2015.2.179).

It appears this OpenMP library defect was also fixed in the subsequent Composer XE 2015.5.280 release which has a newer libiomp5md.dll, version 5.0.2015.609.

I don’t know how you prefer to deal with this. The 15.0 compiler is older but I presume maybe you have a reason for wanting to use that. It appears you have at least both the 15.0.2.179 and 15.0.4.221 installed on your system so maybe it is easier to revert to the earlier 15.0.2.179 for now, or perhaps you have the later 15.0.5.280 installed and can use that.

Whichever versions you have installed, under VS IDE you can select the compiler used via Tools > Options > Intel Compilers and Tools > Visual Fortran > Compilers and set the Selected Compiler pull down for Win32 and/or x64.

View solution in original post

0 Kudos
14 Replies
jimdempseyatthecove
Honored Contributor III
1,273 Views

You have minor bug in program. Revised program below.

program Console1
use omp_lib
implicit none
integer :: pn
integer :: n,j,NCPUS,i
NCPUS=8
call omp_set_num_threads(NCPUS)
J = 0 ! *** initialize before reduction clause
!$OMP PARALLEL DEFAULT(PRIVATE) SHARED(NCpus) REDUCTION(+:J)
! **** J=0  ! move to before parallel region if done once (as implied by above reduction)
!$OMP DO
  do i=1,NCpus
    J=J+1      
  end do   
!$OMP END DO
!$OMP END PARALLEL

call omp_set_num_threads(1)       !This is here because there used to be a problem in intel Fortran openMP, where the thread pool had to be set to 1 before defining a new threadpool. 
call omp_set_num_threads(NCPUS)

pn=8
!$OMP PARALLEL DEFAULT(NONE) SHARED(pn),private(i)
  !$OMP MASTER    
    do i=1,pn
     !$OMP TASK firstprivate(i)
       call sleep(1)
       print*,'Task ',i, omp_get_thread_num() ! verify done in parallel
     !$OMP END TASK
    end do
    !$OMP TASKWAIT        
  !$OMP END MASTER      
!$OMP END PARALLEL    

end program Console1


With pn=7 (note omp thread 4 not used)

 Task            4           7
 Task            3           5
 Task            5           3
 Task            1           1
 Task            7           0
 Task            2           2
 Task            6           6
Press any key to continue . . .

with pn=8

 Task            2           1
 Task            3           5
 Task            4           6
 Task            7           7
 Task            8           0
 Task            1           3
 Task            5           2
 Task            6           4
Press any key to continue . . .

In your original code, you initialized J by all threads inside the parallel region. The do loop may have ** completed ** by one thread of the team prior to a different thread initializing J. In which case the reduction (or partial reduction) may get clobbered.

Your second parallel region, as written, may have shown all (7) task being run, but it had no indication of parallelization. For this I added the OpenMP thread (team member) number.

Edit: You could potentially have J=0 in both places, but since the first do loop is executed once, it would be redundant to do so.

Jim Dempsey

0 Kudos
Tue_B_
Novice
1,273 Views

Running the altered code that Jim provided, I get exactly the same issue as I had before...

The output I get is:

 Task            8           0
 Task            7           0
 Task            6           0
 Task            5           0
 Task            4           0
 Task            3           0
 Task            2           0
 Task            1           0

Not only is this the output I get, but the code also remains stuck after printing the last task (it never exits the parallel region again, which is incidently the same problem kept encountering in this thread https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/734424)

Note that this bug seems to be task specific. If I instead of the task syntax, insert a do loop the second parallel region runs just fine.

program Console1
use omp_lib
implicit none
integer :: pn
integer :: n,j,NCPUS,i
NCPUS=8
call omp_set_num_threads(NCPUS)
J = 0 ! *** initialize before reduction clause
!$OMP PARALLEL DEFAULT(PRIVATE) SHARED(NCpus) REDUCTION(+:J)
! **** J=0  ! move to before parallel region if done once (as implied by above reduction)
!$OMP DO
  do i=1,NCpus
    J=J+1      
  end do   
!$OMP END DO
!$OMP END PARALLEL

call omp_set_num_threads(1)       !This is here because there used to be a problem in intel Fortran openMP, where the thread pool had to be set to 1 before defining a new threadpool. 
call omp_set_num_threads(NCPUS)

pn=8

!$omp parallel default(none) shared(pn),private(i)
  !$omp do schedule(dynamic)  
    do i=1,pn
      call sleep(1)
      print*,'task ',i, omp_get_thread_num() ! verify done in parallel
    end do
  !$OMP END DO
!$omp end parallel    

end program Console1

OUTPUT:

 task            4           6
 task            2           7
 task            6           2
 task            1           0
 task            7           3
 task            5           5
 task            8           1
 task            3           4

 

0 Kudos
andrew_4619
Honored Contributor II
1,273 Views

You are are using  XE 15.0.2.179 [Intel(R) 64] i would expect Jim is running a later version?????

0 Kudos
Kevin_D_Intel
Employee
1,273 Views

Using Jim's variant, I am seeing results consist with him with the 15.0.2.179 compiler.

with pn=8

C:\ u735131>  ifort /Qopenmp u735131.f90
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.2.179 Build 20150121
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.

Microsoft (R) Incremental Linker Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:u735131.exe
-subsystem:console
-defaultlib:libiomp5md.lib
-nodefaultlib:vcomp.lib
-nodefaultlib:vcompd.lib
u735131.obj

C:\ u735131>  .\u735131.exe
 Task            1           4
 Task            7           3
 Task            8           0
 Task            4           7
 Task            3           1
 Task            6           2
 Task            5           5
 Task            2           6

 

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,273 Views

Tue,

All your tasks (second region) are run by OpenMP thread (team member) number 0.

This indicates on of several things:

a) you compiled without -qopenmp (or equivalent)
b) you compiled with -qopenmp and linked with the openmp stubs library
c) you compiled with -qopenmp and linked with the openmp parallel library and have an OpenMP related environment variable set to force 1 thread (or non-parallel)
d) you are running on a system that is providing only one logical processor

Jim Dempsey

0 Kudos
Tue_B_
Novice
1,273 Views

jimdempseyatthecove wrote:

All your tasks (second region) are run by OpenMP thread (team member) number 0.

This indicates on of several things:

a) you compiled without -qopenmp (or equivalent)
b) you compiled with -qopenmp and linked with the openmp stubs library
c) you compiled with -qopenmp and linked with the openmp parallel library and have an OpenMP related environment variable set to force 1 thread (or non-parallel)
d) you are running on a system that is providing only one logical processor

Considering I do not change compiler settings between the runs make where I do have parallelizations and the runs I do not, I do not see how any of those options are realistic. As far as I can tell the issue comes from:

call omp_set_num_threads(1) !This is here because there used to be a problem in intel Fortran openMP, where the thread pool had to be set to 1 before defining a new threadpool. 

call omp_set_num_threads(NCPUS)

where the second call of omp_set_num_threads is somehow not respected, and instead 1 thread is thenenforced in the task region. From what I'm seeing this looks like a clear cut bug in the compiler, though why I'm the only one seeing it I'm not sure about, I'll try to do some more tests and verify all the compiler flags tomorrow.

 

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,273 Views

Check your library path. This may be a case of your executable loading a DLL from an older version of Fortran. Kevin ran the test program using the same version of the compiler as you reported you use. I assume the DLL that ran with Kevin's test was from the same version of the compiler he used. This is one additional variable.

Jim Dempsey

0 Kudos
Tue_B_
Novice
1,273 Views

jimdempseyatthecove wrote:

Check your library path. This may be a case of your executable loading a DLL from an older version of Fortran. Kevin ran the test program using the same version of the compiler as you reported you use. I assume the DLL that ran with Kevin's test was from the same version of the compiler he used. This is one additional variable.

Jim Dempsey

This is something I'm not entirely sure how to do, I've been programming for quite a few years at this point, but I have never really been the one setting up our system, so I'm actually not sure how to find the library paths used when compiling, I checked the logfile that was created when building the test program:

Compiling with Intel(R) Visual Fortran Compiler XE 15.0.4.221 [Intel(R) 64]...
ifort /nologo /debug:full /Od /Qopenmp /warn:interfaces /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc110.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qvc11 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\\bin\amd64" "Z:\Projects\2014_AirTech4Water\Software\ftn\Old_examples\OMP_TASK_v4\Console1\Console1.f90"
Linking...
Link /OUT:"x64\Debug\Console1.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"x64\Debug\Console1.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"Z:\Projects\2014_AirTech4Water\Software\ftn\Old_examples\OMP_TASK_v4\Console1\x64\Debug\Console1.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"Z:\Projects\2014_AirTech4Water\Software\ftn\Old_examples\OMP_TASK_v4\Console1\x64\Debug\Console1.lib" "x64\Debug\module.obj" "x64\Debug\Console1.obj"
Link: executing 'link'

Embedding manifest...
mt.exe /nologo /outputresource:"Z:\Projects\2014_AirTech4Water\Software\ftn\Old_examples\OMP_TASK_v4\Console1\x64\Debug\Console1.exe;#1" /manifest "x64\Debug\Console1.exe.intermediate.manifest"

Console1 - 0 error(s), 0 warning(s)

 

I'm guessing there is some default paths that it searches for the needed dlls, but I'm not exactly sure how to see which paths it is, or which dll's it searches for.

0 Kudos
andrew_4619
Honored Contributor II
1,273 Views

Put "show progress" ( /VERBOSE  ) on the linker options.

0 Kudos
andrew_4619
Honored Contributor II
1,273 Views

/VERBOSE:LIB is less information but probably all you need.

0 Kudos
Tue_B_
Novice
1,273 Views

By using Verbose I get what is shown below. Now I'm not entirely sure how to actually figure out which dlls are loaded based on what I'm reading, but as far as I can see I'm guessing the most relevant file for openMP is the libiomp5md.dll, which I think it finds in C:\Program Files (x86)\Intel\Composer XE 2015.4.221\redist\intel64\compiler. The version I have of this file everywhere I look appear to be 5.0.2015.324

I'm guessing there is a newer version somewhere I should try

 

1>------ Build started: Project: Console1, Configuration: Debug x64 ------
1>Linking...
1>Starting pass 1
1>Processed /DEFAULTLIB:ifconsol
1>Processed /DEFAULTLIB:libifcoremdd
1>Processed /DEFAULTLIB:libifportmd
1>Processed /DEFAULTLIB:libiomp5md
1>Processed /DEFAULTLIB:libmmdd
1>Processed /DEFAULTLIB:MSVCRTD
1>Processed /DEFAULTLIB:libirc
1>Processed /DEFAULTLIB:svml_dispmd
1>Processed /DEFAULTLIB:OLDNAMES
1>Processed /DEFAULTLIB:ifmodintr.lib
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifcoremdd.lib:
1>      Found for_set_reentrancy
1>        Referenced in Console1.obj
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found for_write_seq_lis
1>        Referenced in Console1.obj
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found for_write_seq_lis_xmit
1>        Referenced in Console1.obj
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found __IMPORT_DESCRIPTOR_libifcoremdd
1>        Referenced in libifcoremdd.lib(libifcoremdd.dll)
1>        Referenced in libifcoremdd.lib(libifcoremdd.dll)
1>        Referenced in libifcoremdd.lib(libifcoremdd.dll)
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found __NULL_IMPORT_DESCRIPTOR
1>        Referenced in libifcoremdd.lib(libifcoremdd.dll)
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found libifcoremdd_NULL_THUNK_DATA
1>        Referenced in libifcoremdd.lib(libifcoremdd.dll)
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifportmd.lib:
1>      Found SLEEP
1>        Referenced in Console1.obj
1>        Loaded libifportmd.lib(libifportMD.dll)
1>      Found __IMPORT_DESCRIPTOR_libifportMD
1>        Referenced in libifportmd.lib(libifportMD.dll)
1>        Loaded libifportmd.lib(libifportMD.dll)
1>      Found libifportMD_NULL_THUNK_DATA
1>        Referenced in libifportmd.lib(libifportMD.dll)
1>        Loaded libifportmd.lib(libifportMD.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libiomp5md.lib:
1>      Found __kmpc_begin
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found omp_set_num_threads
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_global_thread_num
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_ok_to_fork
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_serialized_parallel
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_end_serialized_parallel
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_fork_call
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_end
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found omp_get_thread_num
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_master
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_end_master
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_omp_task_alloc
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_omp_task
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_omp_taskwait
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_reduce_nowait
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_atomic_fixed4_add
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_end_reduce_nowait
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_for_static_init_4
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_for_static_fini
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __kmpc_barrier
1>        Referenced in Console1.obj
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found __IMPORT_DESCRIPTOR_libiomp5md
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>      Found libiomp5md_NULL_THUNK_DATA
1>        Referenced in libiomp5md.lib(libiomp5md.dll)
1>        Loaded libiomp5md.lib(libiomp5md.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libmmdd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\MSVCRTD.lib:
1>      Found _RTC_CheckStackVars
1>        Referenced in module.obj
1>        Referenced in Console1.obj
1>        Loaded MSVCRTD.lib(stack.obj)
1>      Found mainCRTStartup
1>        Loaded MSVCRTD.lib(crtexe.obj)
1>      Found "void __cdecl _RTC_StackFailure(void *,char const *)" (?_RTC_StackFailure@@YAXPEAXPEBD@Z)
1>        Referenced in MSVCRTD.lib(stack.obj)
1>        Loaded MSVCRTD.lib(error.obj)
1>      Found __CxxSetUnhandledExceptionFilter
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(unhandld.obj)
1>      Found _XcptFilter
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _amsg_exit
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _setargv
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(dllargv.obj)
1>      Found __imp___getmainargs
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp___set_app_type
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__CrtDbgReportW
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__CrtSetCheckCount
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _IsNonwritableInCurrentImage
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(pesect.obj)
1>      Found __imp_exit
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__exit
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__cexit
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __security_init_cookie
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(gs_support.obj)
1>      Found _matherr
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(merr.obj)
1>      Found atexit
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(atonexit.obj)
1>      Found _RTC_Initialize
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(initsect.obj)
1>      Found __imp__configthreadlocale
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp___setusermatherr
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _initterm_e
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _initterm
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __C_specific_handler
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pesect.obj)
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __globallocalestatus
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(xthdloc.obj)
1>      Found _commode
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(xncommod.obj)
1>      Found _dowildcard
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(wildcard.obj)
1>      Found _newmode
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(_newmode.obj)
1>      Found __imp___initenv
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __native_startup_state
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(natstart.obj)
1>      Found _fmode
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(xtxtmode.obj)
1>      Found __imp__fmode
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__commode
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __xi_a
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded MSVCRTD.lib(cinitexe.obj)
1>Processed /DEFAULTLIB:kernel32.lib
1> Processed /DISALLOWLIB:libcmt.lib
1> Processed /DISALLOWLIB:libcmtd.lib
1> Processed /DISALLOWLIB:msvcrt.lib
1>      Found "int (__cdecl*__cdecl _RTC_GetErrorFunc(void const *))(int,char const *,int,char const *,char const *,...)" (?_RTC_GetErrorFunc@@YAP6AHHPEBDH00ZZPEBX@Z)
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Loaded MSVCRTD.lib(userapi.obj)
1>      Found "int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPEAEPEA_WKPEAH1K@Z)
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Loaded MSVCRTD.lib(pdblkup.obj)
1>      Found __GSHandlerCheck
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded MSVCRTD.lib(gshandler.obj)
1>      Found __security_check_cookie
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Referenced in MSVCRTD.lib(gshandler.obj)
1>        Loaded MSVCRTD.lib(amdsecgs.obj)
1>      Found __security_cookie
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(gs_support.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Referenced in MSVCRTD.lib(amdsecgs.obj)
1>        Loaded MSVCRTD.lib(gs_cookie.obj)
1>      Found "void __cdecl terminate(void)" (?terminate@@YAXXZ)
1>        Referenced in MSVCRTD.lib(unhandld.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __crtSetUnhandledExceptionFilter
1>        Referenced in MSVCRTD.lib(unhandld.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __IMPORT_DESCRIPTOR_MSVCR110D
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _lock
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _unlock
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__calloc_dbg
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __dllonexit
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __imp__onexit
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found wcscpy_s
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _wmakepath_s
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found _wsplitpath_s
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __report_gsfailure
1>        Referenced in MSVCRTD.lib(amdsecgs.obj)
1>        Loaded MSVCRTD.lib(gs_report.obj)
1>      Found MSVCR110D_NULL_THUNK_DATA
1>        Referenced in MSVCRTD.lib(MSVCR110D.dll)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __crt_debugger_hook
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __crtUnhandledException
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __crtTerminateProcess
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __crtCaptureCurrentContext
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found __crtCapturePreviousContext
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libirc.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifmodintr.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\kernel32.lib:
1>      Found __imp_EncodePointer
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_IsDebuggerPresent
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_RaiseException
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetLastError
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetProcAddress
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_LoadLibraryExW
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_lstrlenA
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_LoadLibraryW
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_MultiByteToWideChar
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_WideCharToMultiByte
1>        Referenced in MSVCRTD.lib(error.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_QueryPerformanceCounter
1>        Referenced in MSVCRTD.lib(gs_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetCurrentProcessId
1>        Referenced in MSVCRTD.lib(gs_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetCurrentThreadId
1>        Referenced in MSVCRTD.lib(gs_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetSystemTimeAsFileTime
1>        Referenced in MSVCRTD.lib(gs_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_DecodePointer
1>        Referenced in MSVCRTD.lib(atonexit.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_HeapAlloc
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_HeapFree
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetProcessHeap
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_VirtualQuery
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_FreeLibrary
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetModuleFileNameW
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetModuleHandleW
1>        Referenced in MSVCRTD.lib(pdblkup.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found IsProcessorFeaturePresent
1>        Referenced in MSVCRTD.lib(gs_report.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __IMPORT_DESCRIPTOR_KERNEL32
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found KERNEL32_NULL_THUNK_DATA
1>        Referenced in kernel32.lib(KERNEL32.dll)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifcoremdd.lib:
1>      Found main
1>        Referenced in MSVCRTD.lib(crtexe.obj)
1>        Loaded libifcoremdd.lib(for_main.obj)
1>      Found for_rtl_init_
1>        Referenced in libifcoremdd.lib(for_main.obj)
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found for_rtl_finish_
1>        Referenced in libifcoremdd.lib(for_main.obj)
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>      Found for__nt_signal_handler
1>        Referenced in libifcoremdd.lib(for_main.obj)
1>        Loaded libifcoremdd.lib(libifcoremdd.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libmmdd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\MSVCRTD.lib:
1>      Found signal
1>        Referenced in libifcoremdd.lib(for_main.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libirc.lib:
1>      Found __intel_new_feature_proc_init
1>        Referenced in libifcoremdd.lib(for_main.obj)
1>        Loaded libirc.lib(new_proc_init.obj)
1>      Found __intel_cpu_feature_indicator
1>        Referenced in libirc.lib(new_proc_init.obj)
1>        Loaded libirc.lib(cpu_feature_disp.obj)
1>      Found __libirc_get_msg
1>        Referenced in libirc.lib(new_proc_init.obj)
1>        Loaded libirc.lib(irc_msg_support.obj)
1>Processed /DEFAULTLIB:uuid.lib
1>      Found __intel_proc_init_ftzdazule
1>        Referenced in libirc.lib(new_proc_init.obj)
1>        Loaded libirc.lib(proc_init_utils.obj)
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifmodintr.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\kernel32.lib:
1>      Found __imp_FormatMessageA
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_LoadLibraryA
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>      Found __imp_GetThreadLocale
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded kernel32.lib(KERNEL32.dll)
1>    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\uuid.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifcoremdd.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libmmdd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\MSVCRTD.lib:
1>      Found strlen
1>        Referenced in libirc.lib(new_proc_init.obj)
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found strncat
1>        Referenced in libirc.lib(new_proc_init.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found sprintf
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found vsprintf
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found strncpy
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found printf
1>        Referenced in libirc.lib(irc_msg_support.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>      Found memset
1>        Referenced in libirc.lib(proc_init_utils.obj)
1>        Loaded MSVCRTD.lib(MSVCR110D.dll)
1>Finished searching libraries
1>Finished pass 1
1>
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifcoremdd.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libmmdd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\MSVCRTD.lib:
1>      Found _load_config_used
1>        Loaded MSVCRTD.lib(loadcfg.obj)
1>Finished searching libraries
1>Unused libraries:
1>  C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifconsol.lib
1>  C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\libmmdd.lib
1>  C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\svml_dispmd.lib
1>  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib
1>  C:\Program Files (x86)\Intel\Composer XE 2015.4.221\compiler\lib\Intel64\ifmodintr.lib
1>  C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\uuid.lib
1>Starting pass 2
1>     Console1.obj
1>     module.obj
1>     libifcoremdd.lib(for_main.obj)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifcoremdd.lib(libifcoremdd.dll)
1>     libifportmd.lib(libifportMD.dll)
1>     libifportmd.lib(libifportMD.dll)
1>     libifportmd.lib(libifportMD.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     libiomp5md.lib(libiomp5md.dll)
1>     MSVCRTD.lib(unhandld.obj)
1>     MSVCRTD.lib(atonexit.obj)
1>     MSVCRTD.lib(cinitexe.obj)
1>     MSVCRTD.lib(crtexe.obj)
1>     MSVCRTD.lib(dllargv.obj)
1>     MSVCRTD.lib(gs_cookie.obj)
1>     MSVCRTD.lib(gs_report.obj)
1>     MSVCRTD.lib(gs_support.obj)
1>     MSVCRTD.lib(merr.obj)
1>     MSVCRTD.lib(natstart.obj)
1>     MSVCRTD.lib(pesect.obj)
1>     MSVCRTD.lib(wildcard.obj)
1>     MSVCRTD.lib(amdsecgs.obj)
1>     MSVCRTD.lib(loadcfg.obj)
1>     MSVCRTD.lib(gshandler.obj)
1>     MSVCRTD.lib(_newmode.obj)
1>     MSVCRTD.lib(xncommod.obj)
1>     MSVCRTD.lib(xtxtmode.obj)
1>     MSVCRTD.lib(xthdloc.obj)
1>     MSVCRTD.lib(userapi.obj)
1>     MSVCRTD.lib(stack.obj)
1>     MSVCRTD.lib(pdblkup.obj)
1>     MSVCRTD.lib(initsect.obj)
1>     MSVCRTD.lib(error.obj)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     MSVCRTD.lib(MSVCR110D.dll)
1>     libirc.lib(irc_msg_support.obj)
1>     libirc.lib(cpu_feature_disp.obj)
1>     libirc.lib(proc_init_utils.obj)
1>     libirc.lib(new_proc_init.obj)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>     kernel32.lib(KERNEL32.dll)
1>Finished pass 2
1>Embedding manifest...
1>
1>Build log written to  "file://Z:\Projects\2014_AirTech4Water\Software\ftn\Old_examples\OMP_TASK_v4\Console1\x64\Debug\BuildLog.htm"
1>Console1 - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

 

0 Kudos
Kevin_D_Intel
Employee
1,274 Views

Now I’m seeing what you are. Initially the compiler version indicated was 15.0.2.179 compiler. The more recent posts show Composer XE 2015.4.221 and when run using the OpenMP library from this release, I get the same results as you.

The problematic libiomp5md.dll is version 5.0.2015.324 (from Composer XE 2015.4.221).

A version that appears to work is an earlier version 5.0.2014.1201 (from Composer XE 2015.2.179).

It appears this OpenMP library defect was also fixed in the subsequent Composer XE 2015.5.280 release which has a newer libiomp5md.dll, version 5.0.2015.609.

I don’t know how you prefer to deal with this. The 15.0 compiler is older but I presume maybe you have a reason for wanting to use that. It appears you have at least both the 15.0.2.179 and 15.0.4.221 installed on your system so maybe it is easier to revert to the earlier 15.0.2.179 for now, or perhaps you have the later 15.0.5.280 installed and can use that.

Whichever versions you have installed, under VS IDE you can select the compiler used via Tools > Options > Intel Compilers and Tools > Visual Fortran > Compilers and set the Selected Compiler pull down for Win32 and/or x64.

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,273 Views

Kevin, Tue,

You can also create a folder named something like ompFix and copy the working libiomp5md.dll into there, and then add the path to that folder to PATH (in front of any Intel folders). You must remember to undo this when you update your compiler version with a fixed version of libiomp5md.dll.

An alternative method would be to copy the working dll into the same folder as you place the execuitable (or into the current directory used at time of run). See: https://msdn.microsoft.com/en-us/library/7d83bc18.aspx for DLL search path information.

Jim Dempsey

0 Kudos
Tue_B_
Novice
1,273 Views

Thank you guys for helping me out, I really appreciate it!

0 Kudos
Reply