Poor ENVI performance on dual CPU - quad core [message #57094] |
Tue, 04 December 2007 02:53 |
wita
Messages: 43 Registered: January 2005
|
Member |
|
|
Hi,
Recently I started working on a brand new dual CPU quad core machine
to do some number crunching on satellite data using ENVI 4.4.
Well, I found that is not exactly the case. A simple 'sum bands' over
538 bandes (5040x2520 pixels) takes ages to complete, progressing
about 1% per minute, with none of the 8 cores going to 100% processing
and the total CPU usage remaining below 1%.
The weird thing is that when I export a subset of those bands to an
IDL variable, the TOTAL function does the same computation in a few
seconds where the ENVI 'sum bands' takes minutes to complete. Of
course there is the ENVI tiling mechanism in between but this
shouldn't be that large a penalty (at least not in my experience).
I investigated this a little bit further and found that the situation
dramatically improves when I disabled the IDL thread pool using:
cpu, TPOOL_NTHREADS=1
Now the 'sum bands' computation makes quick progress and one of the
eight cores goes to 100% processing.
So, for some reason ENVI does not seem to handle the IDL thread pool
well and this causes a large penalty for certain types of operations
within ENVI. Maybe some of you guys have an idea of what is going on
here.
At least I thought it was useful to make a post here because a search
on this newsgroup did not reveal anything in this direction.
Allard
|
|
|