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

The ordinal 899 could not be located in the dynamic link library (see image attached) omptarget.dll

Noemig4
Beginner
5,197 Views

Hello,

I am trying to compile a simple example (Microsoft Visual Studio 2019 and IntelOneAPI) with IFX Intel Fortran Compiler.

Noemig4_0-1641910027175.png

The code is simple, see below:

Program Example 
    implicit none

  integer :: i, j
  real :: x, y

  x=0

!$omp target map(tofrom:x)
!$omp parallel do private(j,y) reduction(+:x)
  do i=1,2000000
     y=0.5
     do j=1,1000
        y=(y+SQRT(y))/2
     end do
     x=x+1-y
  end do
!$omp end target

  print '("Our final result is: ",G0.5)', x
  write(99,*)'("Our final result is: ",G0.5)', x
    
end Program

The following properties are selected in Visual Studio:

 

Noemig4_4-1641910584118.png

 

Noemig4_5-1641910626357.png

 

Noemig4_6-1641910644765.png

 

Noemig4_7-1641910661284.png

 

I have installed the following:

  • Microsoft Visual Studio Professional 2019  Version 16.11.8
  • Intel® oneAPI Base, and HPC Toolkits  version: 2022.1.0 (64 bit)

 

I am able to compile and run this code using IFORT and OpenMP, the issue is shown when I tried to offload to GPU.  One of my display adapters is the UHD Graphics 630, I am trying to offloading to the graphics cores.

 

Noemig4_8-1641911536743.png

I have been searching for a complete example project build in Visual Studio that could help me to figure out what is the issue with my OpenMP libraries and DLL. My guess is that I am either missing a LIB/DLL or I am using and old version of the Open MP libraries. 

 

0 Kudos
54 Replies
Steve_Lionel
Honored Contributor III
2,152 Views

ttps://community.intel.com/t5/Intel-Fortran-Compiler/omptarget-dll-was-not-found/m-p/1293308#M156532 had the same question - no answer.

0 Kudos
Noemig4
Beginner
2,148 Views

Steve,  The replies to my previous post ( link that you just shared) did not help me fixing the issue. I have not been able to get rid of the problem.

 

Thanks!

0 Kudos
Barbara_P_Intel
Moderator
2,127 Views

Thanks for the details about the compiler versions. I have some more questions about your environment.

What Intel processor are you running on? OpenMP TARGET is supported on processors with Gen9 instructions or greater.

Which device driver did you install?

There may be some confusion since you also have NVIDIA installed.

 

 

0 Kudos
Noemig4
Beginner
2,101 Views

Hi Barbara,

 

I have an Intel® Core™ i9-9900K Processor (Coffee-Lake generation) with and  integrated video card Intel UHD Graphics 630 (GEN 9)  and an NVIDIA GeForce RTX 2080 Ti. I have been thinking that maybe I need to completely disable the NVIDIA card and just keep the UHD 630 card on. Do you think this will help? Both of the video cards are ON (see image attached).  

I have the driver version 27.20.100.8681 that seems to be the latest one available for the  Intel UHD Graphics 630.

Noemig4_0-1641992670516.png

 

Thanks for your input.

 

Noemi

 

0 Kudos
Barbara_P_Intel
Moderator
2,079 Views

With that Intel processor you should be good.

I don't have a hardware setup like yours available. If I had such a configuration, I would disable the NVIDIA GPU and run your app. Do you mind doing that?



0 Kudos
Noemig4
Beginner
2,062 Views

Thanks Barbara, I will disable the NVIDIA GPU in one of my computers and I will let you know what I find.

 

0 Kudos
Noemig4
Beginner
1,893 Views

Barbara,

 

I disabled the NVIDIA card in two of my computers. Both  computers have the UHD 630. 

Noemig4_0-1642106072438.png

 

I recompiled successfully and the compiler seems to be searching for the libs, see below:

 

 

Rebuild started...
1>------ Rebuild All started: Project: ExampleOfffloadGPU (IFX), Configuration: Release x64 ------
1>Deleting intermediate files and output files for project 'ExampleOfffloadGPU', configuration 'Release|x64'.
1>Compiling with Intel® Fortran Compiler 2022.0.0 [Intel(R) 64]...
1>ExampleOffloadGPU.f90
1>Linking...
1>Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2022.0.0 Build 20211123
1>Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
1>1659213-ExampleOffloadGPU.obj : warning LNK4078: multiple '__CLANG_OFFLOAD_BUNDLE__openmp-s' sections found with different attributes (40000800)
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>Finished searching libraries
1>Embedding manifest...
1>
1>Build log written to  "file://C:\FLO\ExampleOffloadGPU\ExampleOfffloadGPU\x64\Release\BuildLog.htm"
1>ExampleOfffloadGPU - 0 error(s), 1 warning(s)
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

 

My computer 1 is still showing the same error with the ordinal 899 - omptarget.dll, see below:

Noemig4_1-1642106275451.png

 

My computer 2 is showing me something slightly different, see image below:

 

Noemig4_2-1642106328058.png

Noemig4_3-1642106348924.png

 

The device 2 is the UHD 630, see image below:

Noemig4_4-1642106404671.png

 

Thanks,

 

N

 

 

 

 

 

 

0 Kudos
Noemig4
Beginner
1,893 Views

Barbara,

 

I disabled the NVIDIA card in my two of my computers, see image below:

 

Noemig4_0-1642101989874.png

 

I reboot them and I recompiled the code. The compiler searched for the libraries and compiled successfully in both of them (see below).

 

 

Rebuild started...
1>------ Rebuild All started: Project: ExampleOfffloadGPU (IFX), Configuration: Release x64 ------
1>Deleting intermediate files and output files for project 'ExampleOfffloadGPU', configuration 'Release|x64'.
1>Compiling with Intel® Fortran Compiler 2022.0.0 [Intel(R) 64]...
1>ExampleOffloadGPU.f90
1>Linking...
1>Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2022.0.0 Build 20211123
1>Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
1>1659213-ExampleOffloadGPU.obj : warning LNK4078: multiple '__CLANG_OFFLOAD_BUNDLE__openmp-s' sections found with different attributes (40000800)
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\ifconsol.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifcoremd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libifportmd.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libircmt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libmmd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\oldnames.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\svml_dispmd.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\kernel32.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\vcruntime.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64\ucrt.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libirc.lib:
1>    Searching C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\uuid.lib:
1>Finished searching libraries
1>Searching libraries
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\compiler\lib\Intel64_win\libiomp5md.lib:
1>    Searching C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\lib\omptarget.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\lib\x64\msvcrt.lib:
1>Finished searching libraries
1>Embedding manifest...
1>
1>Build log written to  "file://C:\FLO\ExampleOffloadGPU\ExampleOfffloadGPU\x64\Release\BuildLog.htm"
1>ExampleOfffloadGPU - 0 error(s), 1 warning(s)
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

 

 

When I executed the code, I got the following errors.

Computer 1 errors: 

 

Computer 1 (UHD 630 is device 2, see image below). 

Noemig4_5-1642103291019.png

 

Error 1 for computer 1:

Noemig4_1-1642102232761.png

Error 2 for computer 1:

Noemig4_4-1642103227669.png

 

 

Computer 2: I got the same 899 ordinal error. The NVIDIA card is also disable in this computer.

 

Noemig4_3-1642102990414.png

 

 

The NVIDIA GPU is not shown anymore in the Task Manager/Performance and the only GPU is the UHD630, see below.

Noemig4_2-1642102305535.png

 

 

0 Kudos
Steve_Lionel
Honored Contributor III
2,059 Views

I took a look at this and was irritated to not be able to find any useful information on how OpenMP offload decides which device to target, nor if there was a way to enumerate the devices. I can get the number of devices, sure. There is a DEVICE clause on the TARGET directive that can accept a positive integer, but when I asked Noemi to try various values, nothing helped.

My guess is that the Intel OMP support, when it finds an unsupported device, uses this 899 ordinal to signal some sort of problem, but it's all so opaque. Certainly, there are not more than 80 functions in omptarget.dll, and a link map Noemi sent me indicates that only a handful of existing entry points are being referenced at link time, so this isn't a case of mismatched DLLs. Noting that there are a couple of "helper" DLLs alongside omptarget.dll suggests to me that Intel OpenMP does dynamic activation to load the proper support. 

Barbara, please check with Ron as I asked him to take a look at this a couple of days ago. I think you'll need to engage the OMP devs to find out what is going on here.

(Amusingly, the program runs slower on my 10th Gen i7 NUC when I enable offload than when it uses the CPU - I must have a singularly anemic GPU.)

0 Kudos
Noemig4
Beginner
2,032 Views

Steve,

 

I disabled the NVIDIA card in two of my computers  and I got two different issues. Please see my reply to Barbara above.

 

Thanks

 

N

0 Kudos
Ron_Green
Moderator
2,051 Views

I am not sure on Windows, but Intel GPUs can co-exist with NVIDIA.  

A lot of the issues we see with odd behavior like this are due to incorrect or missing driver.  

On Windows, Intel has a tool to look at ALL the device drivers on your system and update them if needed with the most recent driver(s).  Go HERE for this "Intel Driver & Support Assistant" application.  Download, open your downloads folder and run it.  I had to reboot after installation to run it.  

 

On linux I have a set of tests to try.  I stood up a PC laptop for testing.  Let me try a few things and I'll get back on here with more suggestions.  I just have to see if Windows works the same or close to my Linux environment.

 

 

0 Kudos
Noemig4
Beginner
2,030 Views

Ron,

 

Thank you for the feedback and suggestions.

 

I updated the drivers for the UHD 630 card. See my image below: 

 

Noemig4_6-1642103749947.png

 

0 Kudos
Steve_Lionel
Honored Contributor III
2,041 Views

Windows has no problem with a dedicated NVidia GPU alongside Intel integrated graphics - I ran this configuration for many years.

I am skeptical that this is a device driver issue, and instead think it is something that the Intel OpenMP support is doing.

0 Kudos
Ron_Green
Moderator
2,022 Views

I am running this example without a problem.  Release + x64 config.

Runs with 'Debug -> Start WITHOUT debugging'

if I try to run under debug it does abort with an error code.  Debugging is yet to be fully supported on Windows so run without debug.

 

What is that extra include directory you have for Preprocessor Includes?

0 Kudos
Ron_Green
Moderator
2,005 Views

Open a x64 Command Window and run the sycl-ls.exe command as shown below.  This should detect your drivers and report out

 

Ron_Green_0-1642107925522.png

 

0 Kudos
Noemig4
Beginner
2,000 Views

Ron, 

 

I think my drivers are ok, see images below with the output on my two computers:

 

Computer 1:

Noemig4_1-1642110613204.png

 

Computer 2:

Noemig4_0-1642110394597.png

 

N

0 Kudos
Ron_Green
Moderator
1,986 Views

yes, those drivers look OK on first glance.

 

What I've found is it may be a bug with the reduction.  Reductions have been a buggy area in our OMP offload with IFX.  We've made a LOT of fixes for reductions that are coming in the Update 1 release (roughly end of March but don't hold me to that)

 

I've attached a simple matrix multiply, no reductions.  I've had no problems with this one.  Your code is hanging on my system and causing me to reboot to clear it.  

 

Also, I can't get VS to use my ENV var settings in Debug General.  I want to set LIBOMPTARGET_PLUGIN_PROFILE=T
this env var will print offload statistics IF and ONLY IF it offloads the kernel(s).  THis is a sanity check to make sure you actually run on the GPU.  Otherwise who knows, right?  
I'm a Linux type so I opened a INtel oneAPI Fortran x64 Command WIndow.  I copied the attached matmul-offload.f90 to c:\temp (use any scratch dir).

Then I compiled:

Ron_Green_1-1642112630792.png

 

and before running I set LIBOMPTARGET_PLUGIN_PROFILE=T and ran.  You can see the output when you offload successfully

Ron_Green_2-1642112715677.png

 

Give this a go.  I'll test your code a bit more but I'm 95% sure it's a bug in reduction.  Once I confirm it I'll ask Barbara or Devorah to write up a bug report.   

I apologize for the frustration.  IFX is still in development during 2022.  We hope to have it fully F2018 and solid with OpenMP 5.x by the 2023 release.

 

0 Kudos
Noemig4
Beginner
1,976 Views

Ron,

 

I compiled and execute the Matmul -offload matrix program that you sent me.

 

I am getting the following error in my computer 2:

 

Noemig4_0-1642117310434.png

My computer 1 is still giving me the same error with OMPTarget.dll, see below:

 

Noemig4_0-1642117724298.png

 

 

Thanks!

N

 

 

0 Kudos
Ron_Green
Moderator
1,980 Views

So I hacked around with your code.  I explicitly added the MAP for Y.  I like to do this as self-documentation.  Without the map it should be TOFROM which seems wasteful.  I reduced the iterations just to make it run faster.  Also I removed the 'parallel do' and just left it 'teams distribute' to spawn off some teams and distribute the iterations to the teams - same as a parallel do.  The numbers match and I see the offload.  But with the small iteration count the kernel execution time is trivial compared to the JIT compilation time.

 

Program Example 
    implicit none
  integer :: i, j
  real :: x, y

  x=0

!$omp target map(tofrom:x) map(alloc:y)
!$omp teams distribute reduction(+:x)
  do i=1,200
     y=0.5
     do j=1,100
        y=(y+SQRT(y))/2
     end do
     x=x+1-y
  end do
!$omp end target

  print '("Our final result is: ",G0.5)', x
  write(99,*)'("Our final result is: ",G0.5)', x
    
end Program

 

Ron_Green_0-1642115269425.png

 

0 Kudos
Ron_Green
Moderator
1,955 Views

Computer 2 - what version of oneAPI and IFX do you have?

 

ifx -what matmul-offload.f90

It looks like there is another version of OpenCL on Computer 1.  Notice the complaint about OpenCL versions.

 

Computer 1 - Can you try this from the command line, doing the compilation like I show along with the run?

 

Also, for Computer 1, before you run try this

 

set LIBOMPTARGET_DEBUG=1

 

then run matmul-offload.exe

 

 

0 Kudos
Reply