Topic: Memory changes in newest version? (v32.1)
I'm wondering if changes were made in the way memory is handled/allocated in the latest release. I have a test harness to time sorting algorithms against large array data sets (2x10^6 elements). Some of the sorts use OpenMP too.
I used to compile and link the program using absolutely vanilla makefile generated from the options within the project - nothing special placed in there, just nominating optimization options and a "-fcheck=all" flag.
The program used to run a treat, no issues. When I recompiled it with NO code changes, it ran but threw a segmentation violation on any subroutine that used OpenMP.
So, I just commented out the call to the routines that used OpenMP and recompiled. It then threw segment violations wherever I called a routine with an array segment ie. call sort1(Mydata(1:50)) which it never did before.
So, commenting those subroutine calls out + OpenMP using routines, it ran.
I then upped the amount of sort data to (4x10^6) which had been a value that I could use. I recompiled and attempted to run the program and it silently dies before executing any code - despite the compilation working without any warnings.
The code does not throw any memory access violations other than the segment violation.
Is there a difference in mem handling in the new version or a different default stack size set?