- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there,
I have a problem with openmp on ifc. In a cycle like:
!OMP$ do parallel private(i) & shared(x,iv,my_data)
do i=1,Nmax
x(i)=my_data(iv(i),..)*{some_opps}
......
enddo !i=1,Nmax
!OMP$ end do parallel
I am getting segvfault if I have more than 60,000 shared reals in !OMP parallel loop. (eg. matrix my_data has more than 60,000 real(8) elements). With 50,000 reals works fine, but with 60,000 crashes.
I use ifc 7.1 on dual Xeon 3.06/512K L2 cache, and ulimit stack=unlimited.
Anyone had similar problems? How can be worked out? (I need to share about 120,000 reals inside openMP loops). Thanks.
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there
In my last post I was a bit imprecise. So if I have inside the openmp loop:
$OMP do parallel () shared ()
$OMP end parallel
about 256000 real(8) numbers(matrix of (64000,4)) and 64000 integers, openmp stuff works fine (and fast). If I increaze the size of real matrix to (65000,4) it crashes.
Anone knows if can be possible to use 4 times as much data as above(about 10^6 - 2*10^6 real(8)) inside the openmp loops?.
Thanks.
In my last post I was a bit imprecise. So if I have inside the openmp loop:
$OMP do parallel () shared ()
$OMP end parallel
about 256000 real(8) numbers(matrix of (64000,4)) and 64000 integers, openmp stuff works fine (and fast). If I increaze the size of real matrix to (65000,4) it crashes.
Anone knows if can be possible to use 4 times as much data as above(about 10^6 - 2*10^6 real(8)) inside the openmp loops?.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Those limits look about right for 32-bit linux. The easy way to increase them would be to move to one of the "64-bit" systems.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Sir,
I have solved that issue and at this point I actually can use more than 250,000 real(8) with OpenMP on 32bit CPUs.
Your answer was therefore not only completely wrong, but also non-profesional. have you actually read my question before answering that 250,000 real(8) are the limit on 32bit CPU?
Thanks anyway, and try better next time!
I have solved that issue and at this point I actually can use more than 250,000 real(8) with OpenMP on 32bit CPUs.
Your answer was therefore not only completely wrong, but also non-profesional. have you actually read my question before answering that 250,000 real(8) are the limit on 32bit CPU?
Thanks anyway, and try better next time!

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page