- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a simple program
program qwin2
character (len=256) :: record
write(*,*) 'Input: '
read(*,'(a)') record
write(*,*) 'read string', record
end program qwin2
I am using VS 2019 (ver 16.6.2) with Intel Fortran Package ID:w_oneAPI_2021.4.0.364 (installed today), using IFORT and a quick win project, x64.
Compiling and running throws an error of
Expression: (L "Buffer is too small" && 0)
when i enter any string and hit return. If I just hit return without typing anything the error is
Expression: ((destination)) != NULL && ((size_in_elements)) > 0
Either way the errors are from the read statement. The stack trace shows problems on Line 22 in QWin2.exe!strncpy_s and Line 218 in QWin.exe!common_tcsncpy_s, so system routines. Following the stack in the debugger, I can see my input string is correct in the locals for strncpy_s with the correct length as it is in common_tcsncpy_s.
Does anyone know what is going on here? Thanks in advance for any ideas.
-sanjay
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, it should be fixed in the oneAPI 2022.2 release, ifort 2021.6.0. I haven't tried it myself.
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It would affect only new builds of applications, since QuickWin is a static link library only. I have no idea what Intel's schedule for this is.
One can revert to a slightly older version (2021.3.0) and it works.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How does one revert from 2021.4 to 2021.3? 2021.4 was first install on new machine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't know how to download a previous version of one of the oneAPI compilers - perhaps an Intel rep will comment. If you upgraded from an earlier version, the old version is still installed and can be switched to in Visual Studio How to Select Intel® Fortran Compiler and Compiler Version in...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
While fixes take some time to be implemented and released (no date on that) here is a link to download oneAPI 2021.3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Devorah -
Thank you very much for this link. It was successful for installing 2021.3 with 2021.4 still installed - amazing. Tested it on the READ(*,'(A)') error and it executes correctly. Fantastic. I am back in business. I am very happy you provided that link. Well done.
How will we know when this bug is fixed for future versions?
Pres Henne
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Devorah,
thanks very much for the link. However, it seems I cannot install this on my laptop. In the following step, it disappears automatically....
would be grateful if you could help on this issue. thanks.
wen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does anyone know if the reported QuickWin read error was fixed in the March 3, 2022 release? Hoping to save myself the installation time and disk space, if the fix has not been made yet.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The March 3 release, 2022.1.3, fixed an installation issue. The compiler was not updated.
Good thing you asked!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see there is a oneAPI 2022.2 release out. Is the patch for this issue included in that release?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, it should be fixed in the oneAPI 2022.2 release, ifort 2021.6.0. I haven't tried it myself.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried it, it is fixed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve,
Which version did you try? I try the newest, i.e. 2023.1.0. The error is still there.
thanks,
wen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Note that ifx does not yet support QuickWin (I've never found out why, but have been told it will be addressed in the future.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve,
While it is known that .obj files are compatible between ifort and ifx (e.g. PROGRAM/w QuickWin can be linked with .lib build from ifx), do you know if the resultant program remains capable of the SYCL offloading? IOW is there a different hidden initialization performed by ifx that enables the SYCL runtime system (or is it done on first call)?
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jim, I can barely spell SYCL much less be able to tell you anything about it. I don't see the connection with the problem described in this thread.
In another thread I demonstrated that it was possible, in at least some cases, to use ifx to build a QuickWin program, but it takes some effort.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jim,
There is no prologue code for SYCL in IFX.
IFX only supports OpenMP directly. SYCL is external. They use different runtime libraries currently. IFX brings in the OMP runtime for offload with the -fopenmp-targets option. But again, this is the OMP RT. Not the SYCL RT.
I think there is some online doc somewhere about calling SYCL from Fortran. I'll see if I can dig it up. Off the top of my head, I'd guess you have to convert your PROGRAM to a subroutine or function called from a C++/SYCL main, and use icx -fsycl for the final link step.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@jimdempseyatthecove Barbara had captured the process for SYCL + IFX in the Porting Guide. I thought I had seen it somewhere, and there it was in plain sight in the Porting Guide.
Link Using ifx with dpcpp Object Files
Some developers are choosing to offload compute kernels in a Fortran program using DPC++.
To link successfully, additional ifx compiler options are required as in this example:
dpcpp -c device.cpp
ifx -qopenmp -fsycl host.f90 device.o -lstdc++ -lsycl
This works for ifx 2022.1.0 and earlier. In a future release, -qopenmp will not be required.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Barbara_P_Intel we'll have to update the Porting Guide. the 'dpcpp' driver is deprecated. Instead of 'dpcpp' above use
icx -fsyscl -c device.cpp
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »