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

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

Noemig4
Beginner
5,189 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
Noemig4
Beginner
2,022 Views

Ron,

Computer 1 and 2  have the latest version of oneAPI and IFX (2022).

 

I tried running your matmul test from command prompt in my computer 1 and I got the following:

 

Noemig4_0-1642193698424.png

 

I will try later today your last recommendation and I will get back to you.

 

Thanks!

0 Kudos
Ron_Green
Moderator
2,008 Views

computer 1 does look like a bad installation.  Can you compile it without OpenMP?

ifx matmul-offload.f90

0 Kudos
Noemig4
Beginner
1,985 Views

If I compile and execute it without all OpenMP switches (OFF), then the Validation Passed.

 

If I compile and execute it without the OpenMP offloading (turning it OFF) (see image below) but with the OpenMP switches ON, then the Validation also passed.

 

Noemig4_1-1642497198018.png

 

The issue is in the OpenMP offloading (IFX).  I have been using for years the classic compiler for different versions of Intel Parallel Studio XE  with the OpenMP switches ON and with no issue.

 

 

0 Kudos
Ron_Green
Moderator
2,018 Views

I have another idea, try to install the Fortran Runtime libraries from here https://registrationcenter-download.intel.com/akdlm/irc_nas/18412/w_ifort_runtime_p_2022.0.0.3663.exe

 

AND once again let's use the oneAPI Command Window for x64

Try this first

set LIBIOMPTARGET_PLUGIN_PROFILE=T
set LIBOMPTARGET_PLUGIN=LEVEL0

 

that is selecting a different driver interface, our level zero driver. 

 

And try that.  Next, try this compilation - this may not work, not sure

 

ifx /Qopenmp /Qopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" matmul-offload.f90

and try the run again.   

0 Kudos
Noemig4
Beginner
1,984 Views

I re installed the  Fortran Runtime libraries  then I ran it setting the interface with the following:

 

set LIBIOMPTARGET_PLUGIN_PROFILE=T

set LIBOMPTARGET_PLUGIN=LEVEL0

 

Output is the same.

 

 

0 Kudos
Ron_Green
Moderator
1,972 Views

OK I think I missed a clue earlier.

 

Your driver is out of date and incorrect.

You need to download and install:

THIS 

from 

HERE

 

After installing this driver, reboot and try again.

 

 

0 Kudos
Noemig4
Beginner
1,959 Views

I reinstalled the driver for the graphic card UHD 630 , I rebooted and I tried again. I got the same issue. 

 

I am very frustrated with this, I am going to get a new laptop and test the offloading (IFX compiler) using a new computer configuration. Can you recommend me a laptop configuration that have been proved to work with IntelOneAPI and the offloading?

 

Thanks!

0 Kudos
Steve_Lionel
Honored Contributor III
1,956 Views

Again, I am extremely skeptical that this has anything to do with drivers. It is clearly an operation internal to the Intel OpenMP library. The OpenMP developers should be consulted.

0 Kudos
Noemig4
Beginner
1,954 Views

Steve, 

 

I am going to post this issue to the  https://forum.openmp.org/   

 

Please let me know if you think there is a better way to reach  the OpenMP developers.

 

Thanks!

N

0 Kudos
Steve_Lionel
Honored Contributor III
1,950 Views

By "the OpenMP developers" I meant Intel's. This thread is the way to do that (assuming that Barbara or Ron involves them.) openmp.org just creates the standard, they don't code implementations.

0 Kudos
Noemig4
Beginner
1,949 Views
0 Kudos
Ron_Green
Moderator
1,942 Views

We have a bug report opened and will meet with the developers later this morning. 

 

Can you run the 'sycl-ls.exe' command again from the Command WIndow?  this will have the new driver information that we need for the bug report.

 

To complete our bug report, can you open Settings, System, About and copy the Device specifications, and the WIndows specifications please.  That will help us to try to reproduce your environment.

0 Kudos
Noemig4
Beginner
1,936 Views

Yes, this is the information:

Noemig4_0-1642610418026.png

 

0 Kudos
Noemig4
Beginner
1,930 Views

These are my device specifications:


Processor Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz 3.60 GHz
Installed RAM 32.0 GB (31.8 GB usable)
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display

 

Windows specifications:

 

Edition Windows 10 Pro
Version 21H2
Installed on ‎10/‎5/‎2020
OS build 19044.1466
Experience Windows Feature Experience Pack 120.2212.3920.0

 

Let me know if you need any other information from me.

 

Thanks.

 

N

0 Kudos
Ron_Green
Moderator
1,932 Views

Thank you.  You definitely have the correct drivers.

 

And can you gather the About information from Settings, System, About? copy the Device specifications, and the WIndows specifications please.  That will help us to try to reproduce your environment.

0 Kudos
Lorri_M_Intel
Employee
1,911 Views

Hi Noemig4 --

    Ron brought me in on this one.

    I have a couple of things I'd like you to try please.

    First, in your command window, can you run the executable that was created from your IDE build?  Did you see the same message? 

    Second, in that command window, can you issue this command against that executable :

                    link -dump -imports  yourexecutable.exe

 

and post that output please?

 

  Finally,  I am a little concerned that you couldn't build the "canary" application in the command prompt.   That's rather interesting too, and may (or may not) be related.

                            Thank you!

 

                                                         --Lorri

0 Kudos
Noemi
Beginner
1,891 Views

Hello Lorri,

 

1) I got the Ordinal 899 error when I tried to run the executable. See the error image below:

 

Noemi_0-1642678108947.png

 

2) This is what I got for the command link -dump -imports:

C:\FLO\ExampleOffloadGPU\ExampleOfffloadGPU\x64\Release>link -dump -imports ExampleOfffloadGPU.exe
Microsoft (R) COFF/PE Dumper Version 12.00.31101.0
Copyright (C) Microsoft Corporation. All rights reserved.


Dump of file ExampleOfffloadGPU.exe

File Type: EXECUTABLE IMAGE

Section contains the following imports:

libiomp5md.dll
14000B248 Import Address Table
14000DA78 Import Name Table
0 time date stamp
0 Index of first forwarder reference

Ordinal 137
Ordinal 135
Ordinal 138
Ordinal 240
Ordinal 880

omptarget.dll
14000B278 Import Address Table
14000DAA8 Import Name Table
0 time date stamp
0 Index of first forwarder reference

0 __tgt_push_code_location
0 __tgt_unregister_lib
0 __tgt_target_mapper
0 __tgt_register_lib

libifcoremd.dll
14000B1F8 Import Address Table
14000DA28 Import Name Table
0 time date stamp
0 Index of first forwarder reference

301 for_write_seq_lis_xmit
2E6 for_stop_core_quiet
2C6 for_rtl_init_
2D0 for_set_fpe_
300 for_write_seq_lis
2D1 for_set_reentrancy
2C5 for_rtl_finish_
EC for__nt_signal_handler
FB for_alloc_allocatable_handle

KERNEL32.dll
14000B000 Import Address Table
14000D830 Import Name Table
0 time date stamp
0 Index of first forwarder reference

59E TerminateProcess
220 GetCurrentProcess
2F3 GetSystemTimeAsFileTime
225 GetCurrentThreadId
221 GetCurrentProcessId
452 QueryPerformanceCounter
4D5 RtlCaptureContext
4DC RtlLookupFunctionEntry
4E3 RtlVirtualUnwind
309 GetThreadLocale
3C8 LoadLibraryA
1AF FormatMessageA
281 GetModuleHandleW
38C IsProcessorFeaturePresent
57F SetUnhandledExceptionFilter
5C0 UnhandledExceptionFilter
385 IsDebuggerPresent
36F InitializeSListHead

VCRUNTIME140.dll
14000B098 Import Address Table
14000D8C8 Import Name Table
0 time date stamp
0 Index of first forwarder reference

1B __current_exception
1C __current_exception_context
3E memset
8 __C_specific_handler

api-ms-win-crt-runtime-l1-1-0.dll
14000B100 Import Address Table
14000D930 Import Name Table
0 time date stamp
0 Index of first forwarder reference

1E _crt_atexit
34 _initialize_onexit_table
67 terminate
63 signal
21 _errno
3C _register_onexit_function
3D _register_thread_local_exe_atexit_callback
15 _c_exit
40 _seh_filter_exe
42 _set_app_type
5 __p___argv
18 _configure_narrow_argv
33 _initialize_narrow_environment
28 _get_initial_narrow_environment
36 _initterm
37 _initterm_e
55 exit
23 _exit
16 _cexit
4 __p___argc

api-ms-win-crt-math-l1-1-0.dll
14000B0F0 Import Address Table
14000D920 Import Name Table
0 time date stamp
0 Index of first forwarder reference

9 __setusermatherr

api-ms-win-crt-stdio-l1-1-0.dll
14000B1A8 Import Address Table
14000D9D8 Import Name Table
0 time date stamp
0 Index of first forwarder reference

0 __acrt_iob_func
3 __stdio_common_vfprintf
54 _set_fmode
1 __p__commode
D __stdio_common_vsprintf

api-ms-win-crt-locale-l1-1-0.dll
14000B0E0 Import Address Table
14000D910 Import Name Table
0 time date stamp
0 Index of first forwarder reference

8 _configthreadlocale

api-ms-win-crt-heap-l1-1-0.dll
14000B0D0 Import Address Table
14000D900 Import Name Table
0 time date stamp
0 Index of first forwarder reference

16 _set_new_mode

api-ms-win-crt-string-l1-1-0.dll
14000B1D8 Import Address Table
14000DA08 Import Name Table
0 time date stamp
0 Index of first forwarder reference

8C strncat
8B strlen
8F strncpy

api-ms-win-crt-environment-l1-1-0.dll
14000B0C0 Import Address Table
14000D8F0 Import Name Table
0 time date stamp
0 Index of first forwarder reference

10 getenv

Summary

2000 .data
1000 .pdata
4000 .rdata
1000 .reloc
1000 .rsrc
9000 .text
1000 .text.st
1000 .tgtimg
F000 .tgtsym
1000 _RDATA
4E000 __CLANG_
1000 omp_offl

 

Thanks.

 

N

0 Kudos
Lorri_M_Intel
Employee
1,842 Views

Thank you so much for doing this, it was very interesting.

I took your program from way up the top of this post, and built it on my system, and  did the "link -dump -imports" to compare what you saw and what I see.

My first question is, is your program actually exactly the one listed here?

The first difference I saw between your output and mine was that two extra entry points were referenced from libifcoremd.dll; you have for_stop_core_quiet and for_alloc_allocable_handle.  My dump does not have those.  I'm assuming I'm using an ever-so-slightly different version.

On the good news side?  All the ordinal numbers match for the matching entry points in libifcoremd, VCRUNTIME140, and the api-ms-win* dlls.

However, for KERNEL32.DLL that is NOT true; the ordinal numbers for my KERNEL32.dll are approximately 4 less than yours.

I'm running WIndows Server 2019 (as seen with "winver" in a command prompt).

Can you tell me what version you're using?

                     Thanks -

0 Kudos
Ron_Green
Moderator
1,901 Views

I apologize for keep asking for information, but ...

what version of Microsoft C++ do you have installed in Visual Studio?  Help menu, About Microsoft Visual Studio.  OR from the oneAPI Command Window x64

 

Ron_Green_1-1642639281884.png

 

Ron_Green_0-1642639121492.png

 

0 Kudos
Noemi
Beginner
1,889 Views

Ron,

 

Thank you for keep asking, hopefully, we will find the issue in one of the questions/replies. Please see below the version of C++ installed on my computer. I included all the info just in case you need to check the version of any other product.

 

Microsoft Visual Studio Professional 2019
Version 16.11.8
VisualStudio.16.Release/16.11.8+32002.261
Microsoft .NET Framework
Version 4.8.04084

Installed Version: Professional

Visual C++ 2019 00435-20151-15700-AA191
Microsoft Visual C++ 2019

.NET Core Debugging with WSL 1.0
.NET Core Debugging with WSL

ADL Tools Service Provider 1.0
This package contains services used by Data Lake tools

ASA Service Provider 1.0

ASP.NET and Web Tools 2019 16.11.94.52318
ASP.NET and Web Tools 2019

ASP.NET Web Frameworks and Tools 2019 16.11.94.52318
For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0 16.11.94.52318
Azure App Service Tools v3.0.0

Azure Data Lake Node 1.0
This package contains the Data Lake integration nodes for Server Explorer.

Azure Data Lake Tools for Visual Studio 2.6.1000.0
Microsoft Azure Data Lake Tools for Visual Studio

Azure Functions and Web Jobs Tools 16.11.94.52318
Azure Functions and Web Jobs Tools

Azure Stream Analytics Tools for Visual Studio 2.6.1000.0
Microsoft Azure Stream Analytics Tools for Visual Studio

C# Tools 3.11.0-4.21403.6+ae1fff344d46976624e68ae17164e0607ab68b10
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Cookiecutter 16.11.21196.2
Provides tools for finding, instantiating and customizing templates in cookiecutter format.

Extensibility Message Bus 1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Fabric.DiagnosticEvents 1.0
Fabric Diagnostic Events

GitHub.VisualStudio 2.11.106.19330
A Visual Studio Extension that brings the GitHub Flow into Visual Studio.

Intel Libraries for oneAPI Package ID: w_oneAPI_2022.0.0.161
Intel Libraries for oneAPI – toolkit version: 2022.1.0, extension version 22.0.0.16, Package ID: w_oneAPI_2022.0.0.161, Copyright © 2019-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® Advisor 2022.0 611554
Intel® Advisor 2022.0, (build 611554), Copyright © 2009-2022 Intel Corporation. All rights reserved.

Intel® C++ Compiler Package ID: w_oneAPI_2022.0.0.161
Intel® C++ Compiler – toolkit version: 2022.1.0, extension version 22.0.16, Package ID: w_oneAPI_2022.0.0.161, Copyright © 2002-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® C++ Compiler Classic Package ID: w_oneAPI_2022.0.0.161
Intel® C++ Compiler Classic – toolkit version: 2022.1.0, extension version 19.2.9.16, Package ID: w_oneAPI_2022.0.0.161, Copyright © 2002-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® DPC++ Compatibility Tool Package ID: w_oneAPI_2022.0.0.97
Intel® DPC++ Compatibility Tool – toolkit version: 2022.1.0, extension version 2022.0.0.16, Package ID: w_oneAPI_2022.0.0.97, Copyright © 2019-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® Fortran Compiler Package ID: w_oneAPI_2022.0.0.161
Intel® Fortran Compiler – toolkit version: 2022.1.0, extension version 22.0.0065.16, Package ID: w_oneAPI_2022.0.0.161, Copyright © 2002-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® Inspector 2022.0 605868
Intel® Inspector 2022.0, (build 605868), Copyright © 2009-2022 Intel Corporation. All rights reserved.

Intel® oneAPI DPC++ Compiler Package ID: w_oneAPI_2022.0.0.161
Intel® oneAPI DPC++ Compiler – toolkit version: 2022.1.0, extension version 22.0.0.16, Package ID: w_oneAPI_2022.0.0.161, Copyright © 2019-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® oneAPI Menu & Samples 1.1.431
Intel® oneAPI Visual Studio Menu & Samples Extension

Intel® Performance Libraries Package ID: w_comp_lib_2020.4.311
Intel® Performance Libraries – extension version 19.2.9.16, Package ID: w_comp_lib_2020.4.311, Copyright © 2002-2021 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® VTune™ Profiler 2022 1.2.39.9
Intel® VTune™ Profiler 2022, (build 1.2.39.9), Copyright © 2009-2021 Intel Corporation. All rights reserved.

IntelliCode Extension 1.0
IntelliCode Visual Studio Extension Detailed Info

Microsoft Azure HDInsight Azure Node 2.6.1000.0
HDInsight Node under Azure Node

Microsoft Azure Hive Query Language Service 2.6.1000.0
Language service for Hive query

Microsoft Azure Service Fabric Tools for Visual Studio 16.10
Microsoft Azure Service Fabric Tools for Visual Studio

Microsoft Azure Stream Analytics Language Service 2.6.1000.0
Language service for Azure Stream Analytics

Microsoft Azure Stream Analytics Node 1.0
Azure Stream Analytics Node under Azure Node

Microsoft Azure Tools for Visual Studio 2.9
Support for Azure Cloud Services projects

Microsoft Continuous Delivery Tools for Visual Studio 0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager 2.1.113+g422d40002e.RR
Install client-side libraries easily to any web project

Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards 1.0
Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers 1.2
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package 1.0
Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio 16.10.15 (552afdf)
Support for debugging Mono processes with Visual Studio.

Node.js Tools 1.5.30526.3 Commit Hash:c09c81113bcbc86d57943fcdd67e82434263d61d
Adds support for developing and debugging Node.js apps in Visual Studio

NuGet Package Manager 5.11.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

Python 16.11.21196.2
Provides IntelliSense, projects, templates, debugging, interactive windows, and other support for Python developers.

Python - Profiling support 16.11.21196.2
Profiling support for Python projects.

Razor (ASP.NET Core) 16.1.0.2122504+13c05c96ea6bdbe550bd88b0bf6cdddf8cde1725
Provides languages services for ASP.NET Core Razor.

SQL Server Data Tools 16.0.62111.25150
Microsoft SQL Server Data Tools

Test Adapter for Boost.Test 1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test 1.0
Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.

ToolWindowHostedEditor 1.0
Hosting json editor into a tool window

TypeScript Tools 16.0.30526.2002
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 3.11.0-4.21403.6+ae1fff344d46976624e68ae17164e0607ab68b10
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 16.11.0-beta.21514.6+b6c2c4f53ea3a08fa603ea93d6d2f808a62a21d1
Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package 1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions 1.0
View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for CMake 1.0
Visual Studio Tools for CMake

Visual Studio Tools for Containers 1.0
Visual Studio Tools for Containers

Visual Studio Tools for Kubernetes 1.0
Visual Studio Tools for Kubernetes

VisualStudio.DeviceLog 1.0
Information about my package

VisualStudio.Foo 1.0
Information about my package

VisualStudio.Mac 1.0
Mac Extension for Visual Studio

Xamarin 16.11.000.197 (d16-11@6934992)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer 16.11.0.47 (remotes/origin/d16-11@e0d612363)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates 16.10.5 (355b57a)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK 12.0.0.3 (d16-11/f0e3c2d)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: c633fe9
Java.Interop: xamarin/java.interop/d16-11@476bb5b
ProGuard: Guardsquare/proguard/v7.0.1@912d149
SQLite: xamarin/sqlite/3.35.4@85460d3
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-11@87af37b


Xamarin.iOS and Xamarin.Mac SDK 15.2.0.17 (738fde344)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

 

0 Kudos
Ron_Green
Moderator
1,880 Views

From a command window, does your PATH look corrupted or truncated:

 

echo %PATH%

 

 

0 Kudos
Reply