- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am running fortran (ifx) on intel community, but I get an error code like ucgen tel.exe!memset_repstos() Line 43. I have a matrix inside. Most elements of the matrix are zero, other elements are symmetrically different, I calculate (dgyevx) eigenvalue eigenvector
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You have not shown the actual error - just a part of the traceback, and perhaps not even that since you say it is "like". If this is coming from an MKL call, please provide a complete test case and ask about it in Intel® oneAPI Math Kernel Library - Intel Community
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi Steve, I take picture my computer error page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the additional information, though a copy of the source would help more. From what I can see, the assignent to array A (at least I assume it is an array) is failing with an access violation. According to the Variables window, this is an enormous array (25GB). I have to assume this is an allocatable array, as you could never get a static array that size on Windows. The compiler has called a Microsoft run-time routine to do this zeroing, and it is failing - why, I can't tell. I can tell you that even if this succeeded, it would take a very long time to execute.
Perhaps you can use this information to modify your code so that it doesn't try to zero such a large array.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi, ı am adding my project but ı did not add include file. ı am including down page
SONSUZ__= 5.8079 ! mac sısteminin kener uzunluğu (a*)
Vo______= 29.7161 ! telin basamak potansiyel degeri (R*)
V1CARPAN= 1.0000 ! bas bariyer carpanı V1=V1carpan*Vo
V2CARPAN= 1.0000 ! bas. bariyer carpanı V2=V2carpan*Vo
TEL1____= 2.3231 ! SOL kuyu iç çap (a*)
TEL2____= 5.2271 ! orta kuyu iç çap (a*)
TEL3____= 7.5502 ! sağ kuyu iç çap (a*)
TEL4____= 5.8079 ! en dış çap(a*)
X_1_____= -2.3231 ! Sol taraftaki telin konum x bileşeni (a*)
X_2_____= .0000 ! Ortadaki telin konumunun x bileşeni (a*)
X_3_____= 2.3231 ! Sag taraftaki telin konum x bileşeni (a*)
Y_1_____= -2.3231 ! Sol taraftaki telin konum Y bileşeni (a*)
Y_2_____= .0000 ! Ortadaki telin konumunun Y bileşeni (a*)
Y_3_____= 2.3231 ! Sag taraftaki telin konum Y bileşeni (a*)
XI______= .0000 !Yabancı atom konumunun x bileşeni (a*)
YI______= .0000 !Yabancı atom konumunun Y bileşeni (a*)
BIX1_____ -2.3231 ! 1. Dairenin x bileşeni (a*)
BIX2_____ .0000 ! 2. Dairenin x bileşeni (a*)
BIX3_____ -2.3231 ! 3. Dairenin x bileşeni (a*)
BIX4_____ .0000 ! 4. Dairenin x bileşeni (a*)
BIY1_____ -2.3231 ! 1. Dairenin Y bileşeni (a*)
BIY2_____ .0000 ! 2. Dairenin Y bileşeni (a*)
BIY3_____ -2.3231 ! 3. Dairenin Y bileşeni (a*)
BIY4_____ .0000 ! 4. Dairenin Y bileşeni (a*)
ALPHAA__= .0000 ! X dorul.da pol olmuş ışığın şiddeti (a*)
F_______= .0000 ! +X dogru.da uyg. harici elek alan (kV/cm)
TB______= .0000 ! +z dogru.da uyg. harici many alan (Teslam)
IHP_____= 9 ! 7= Basamak
IHDONGU_= 9 ! 0=Dongu YOK, 1=KAL1, 2=KAL2, 3=KAL3 , 4=Vo, 5=V1CARPAN, 6=V2CARPAN, 7=F, 8=TB, 9=ALPHA
BASLANGIC .0000 ! Dongunun baslangıc degeri )
BITIS___= 140.0000 !Dongunun son degeri (Secilen dongu boy)
ARTIM___= 2.0000 !Dongunun artım degeri (Secilen dongu bot)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the source. There is something very strange going on here!
As I wrote earlier, array A is extremely large - much too large for static allocation on Windows. If I compile with IFORT, the compiler correctly complains:
catastrophic error: Variable YENI_2D$A too large for NTCOFF. Bigger than 2GB. Use heap instead
(Annoyingly, this error appears only in the Output window and not the Error List window!)
But if I compile with IFX, which is the default, no such error occurs.
When the assignment to A happens, it tries to write to an invalid address because the size of the array exceeds the 2GB available for static code and data on Windows.
There is also an error in the code that the compiler complains about. At line 146 you have:
IF(IHdongu.EQ.0) GOTO 10
where 10 is inside a DO loop starting at line 156. This is not legal and can lead to wrong results. The program as you have provided it does make that jump, so I wouldn't trust the results of the program. It doesn't affect he access violation, though.
How can you get around this? One way would be to change the declaration of array A to:
REAL*8, ALLOCATABLE :: A(:,:)
and then when the executable part starts, insert:
ALLOCATE (A(LDA,N))
This will still require that your system have a LOT of virtual memory available and may still fail if not.
I think there are two compiler bugs here, and would ask an Intel representative to investigate:
1) IFX is not complaining when the size of a static array exceeds 2GB on Windows.
2) When the IFORT error message is given, it doesn't display in the Error List. (This is a minor issue.)
I would also wonder why the Microsoft linker doesn't complain about the data size - I've seen it do that in 32-bit apps, at least, but it should be doing it here too, unless the compiler is lying to the linker about the size.
I have attached a minimal test case.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi, Steve thank you for help me, My computer's RAM is 16 GB, if I upgrade it to 40 GB, will the problem go away?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No - virtual memory does not correspond to physical memory, though more physical memory can improve performance. You will at a minimum need to use the allocatable feature as I described earlier.
If this fails, you may need to increase the paging file size. Windows by default manages this automatically, so you might get lucky.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thank you very much Steve, I am trying your said
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bug ID for missing NTCOFF > 2GB error message is CMPLRLLVM-56243
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ı have taken this error page at now
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's an error inside the MKL routine - I can't help with that. You can ask in https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/bd-p/oneapi-math-kernel-library - be sure to provide the full test case.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page