[Insight-users] Memory concern

itk@stmoser.ch itk at stmoser . ch
Wed, 3 Sep 2003 22:39:29 +0200 (MEST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime at docserver . cac . washington . edu for more info.

---559023410-851401618-1062621569=:22987
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi

I'm working within the same project as Michael.  I have an application
which does some evaluation of 3D registration runs that implements a
function to calculate a metric value. If I work on my target data which
is of type short and roughly 60M each image, my application allocates
more than 800M of memory. I have set up a demo code that generates two
200*200*200 images of type short and calculates a
MeanSquaresImageToImageMetric with linear interpolation. Watching the
application with 'top' I realize that it is 42M in size after creation
of the images and rises up to 317M during the metric calculation.
All the memory seems to be freed afterwards. Is there a way to cut peak
memory usage?
The actual problem is that depending on the hardware, the OS gets into
swapping and makes calculations almost impossible.

Thanks, Stephan
---559023410-851401618-1062621569=:22987
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="test.cxx"
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename="test.cxx"

I2luY2x1ZGUgIml0a0ltYWdlLmgiDQojaW5jbHVkZSAiaXRrSW1hZ2VUb0lt
YWdlTWV0cmljLmgiDQojaW5jbHVkZSAiaXRrTGluZWFySW50ZXJwb2xhdGVJ
bWFnZUZ1bmN0aW9uLmgiDQojaW5jbHVkZSAiaXRrTWVhblNxdWFyZXNJbWFn
ZVRvSW1hZ2VNZXRyaWMuaCINCiNpbmNsdWRlICJpdGtRdWF0ZXJuaW9uUmln
aWRUcmFuc2Zvcm0uaCINCiNpbmNsdWRlICJpdGtCU3BsaW5lSW50ZXJwb2xh
dGVJbWFnZUZ1bmN0aW9uLmgiDQojaW5jbHVkZSAiaXRrVlRLSW1hZ2VUb0lt
YWdlRmlsdGVyLmgiDQojaW5jbHVkZSAiaXRrUmVzYW1wbGVJbWFnZUZpbHRl
ci5oIg0KI2luY2x1ZGUgIml0a0FmZmluZVRyYW5zZm9ybS5oIg0KDQp0eXBl
ZGVmIGl0azo6SW1hZ2U8c2hvcnQsIDM+IFNob3J0M0RJbWFnZVR5cGU7DQp0
eXBlZGVmIFNob3J0M0RJbWFnZVR5cGU6OlBvaW50ZXIgU2hvcnQzREltYWdl
VHlwZVBvaW50ZXI7DQoNCiNkZWZpbmUgU0laRSAyMDANCiNkZWZpbmUgU1BB
Q0lORyAxLjANCg0KZG91YmxlIENhbGN1bGF0ZU1ldHJpY1ZhbHVlKFNob3J0
M0RJbWFnZVR5cGVQb2ludGVyIGZpeGVkSW1hZ2UsDQoJCQkgICAgU2hvcnQz
REltYWdlVHlwZVBvaW50ZXIgbW92aW5nSW1hZ2UpIA0Kew0KICAgIHR5cGVk
ZWYgaXRrOjpJbWFnZVRvSW1hZ2VNZXRyaWM8U2hvcnQzREltYWdlVHlwZSwg
U2hvcnQzREltYWdlVHlwZT4gDQoJSW1hZ2VUb0ltYWdlTWV0cmljVHlwZTsN
CiAgICB0eXBlZGVmIEltYWdlVG9JbWFnZU1ldHJpY1R5cGU6OlBvaW50ZXIg
SW1hZ2VUb0ltYWdlTWV0cmljVHlwZVBvaW50ZXI7DQogICAgdHlwZWRlZiBp
dGs6OlF1YXRlcm5pb25SaWdpZFRyYW5zZm9ybTxkb3VibGU+IFRyYW5zZm9y
bVR5cGU7DQogICAgDQogICAgSW1hZ2VUb0ltYWdlTWV0cmljVHlwZVBvaW50
ZXIgbWV0cmljOw0KDQogICAgdHlwZWRlZiBpdGs6Ok1lYW5TcXVhcmVzSW1h
Z2VUb0ltYWdlTWV0cmljPFNob3J0M0RJbWFnZVR5cGUsDQoJU2hvcnQzRElt
YWdlVHlwZT4gTWVhblNxdWFyZXNNZXRyaWNUeXBlOw0KICAgIG1ldHJpYyA9
IE1lYW5TcXVhcmVzTWV0cmljVHlwZTo6TmV3KCk7DQogICAgDQogICAgbWV0
cmljLT5TZXRGaXhlZEltYWdlKGZpeGVkSW1hZ2UpOw0KICAgIG1ldHJpYy0+
U2V0TW92aW5nSW1hZ2UobW92aW5nSW1hZ2UpOw0KDQogICAgVHJhbnNmb3Jt
VHlwZTo6UG9pbnRlciB0cmFuc2Zvcm0gPSBUcmFuc2Zvcm1UeXBlOjpOZXco
KTsNCiAgICBtZXRyaWMtPlNldFRyYW5zZm9ybSggdHJhbnNmb3JtICk7DQoN
CiAgICB0eXBlZGVmIGl0azo6TGluZWFySW50ZXJwb2xhdGVJbWFnZUZ1bmN0
aW9uPFNob3J0M0RJbWFnZVR5cGUsIA0KCWRvdWJsZT4gSW50ZXJwb2xhdGlv
blR5cGU7DQogICAgSW50ZXJwb2xhdGlvblR5cGU6OlBvaW50ZXIgaW50ZXJw
b2xhdG9yID0gSW50ZXJwb2xhdGlvblR5cGU6Ok5ldygpOw0KICAgIGludGVy
cG9sYXRvci0+U2V0SW5wdXRJbWFnZSggZml4ZWRJbWFnZSApOw0KICAgIG1l
dHJpYy0+U2V0SW50ZXJwb2xhdG9yKCBpbnRlcnBvbGF0b3IgKTsNCiAgICAN
CiAgICBTaG9ydDNESW1hZ2VUeXBlOjpSZWdpb25UeXBlIHJlZ2lvbiA9IA0K
CWZpeGVkSW1hZ2UtPkdldExhcmdlc3RQb3NzaWJsZVJlZ2lvbigpOw0KDQog
ICAgbWV0cmljLT5TZXRGaXhlZEltYWdlUmVnaW9uKCByZWdpb24gKTsNCiAg
ICANCiAgICBJbWFnZVRvSW1hZ2VNZXRyaWNUeXBlOjpQYXJhbWV0ZXJzVHlw
ZSBwYXJhbXMoNyk7DQogICAgDQogICAgcGFyYW1zWzBdID0gMDsNCiAgICBw
YXJhbXNbMV0gPSAwOw0KICAgIHBhcmFtc1syXSA9IDE7DQogICAgcGFyYW1z
WzNdID0gMTsNCiAgICBwYXJhbXNbNF0gPSAwOw0KICAgIHBhcmFtc1s1XSA9
IDA7DQogICAgcGFyYW1zWzZdID0gMDsNCiAgICANCiAgICBtZXRyaWMtPlNl
dFRyYW5zZm9ybVBhcmFtZXRlcnMoIHBhcmFtcyApOw0KICAgIHRyeSB7DQoJ
bWV0cmljLT5Jbml0aWFsaXplKCk7DQoJbWV0cmljLT5Nb2RpZmllZCgpOw0K
CWRvdWJsZSBtZXRyaWNWYWx1ZSA9IG1ldHJpYy0+R2V0VmFsdWUoIHBhcmFt
cyApOw0KCQ0KCXJldHVybiBtZXRyaWNWYWx1ZTsNCiAgICB9IGNhdGNoIChp
dGs6OkV4Y2VwdGlvbk9iamVjdCBlKSB7DQoJY2VyciA8PCBlIDw8IGVuZGw7
DQoJcmV0dXJuIDA7DQogICAgfQ0KfQ0KDQp2b2lkIEdlbmVyYXRlRGF0YShT
aG9ydDNESW1hZ2VUeXBlUG9pbnRlciBteUltYWdlKSB7DQogICAgY29uc3Qg
dW5zaWduZWQgaW50IERpbWVuc2lvbiA9IG15SW1hZ2UtPkdldEltYWdlRGlt
ZW5zaW9uKCk7DQogICAgU2hvcnQzREltYWdlVHlwZVBvaW50ZXI6Ok9iamVj
dFR5cGU6OkluZGV4VHlwZSBzdGFydDsNCiAgICBTaG9ydDNESW1hZ2VUeXBl
UG9pbnRlcjo6T2JqZWN0VHlwZTo6U2l6ZVR5cGUgc2l6ZTsNCiAgICBkb3Vi
bGUqIHNwYWNpbmcgPSBuZXcgZG91YmxlW0RpbWVuc2lvbl07DQogICAgZG91
YmxlKiBvcmlnaW4gPSBuZXcgZG91YmxlW0RpbWVuc2lvbl07DQogICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBEaW1lbnNpb247IGkrKykgew0KCXN0YXJ0W2ld
ID0gMDsNCglzaXplW2ldID0gU0laRTsNCglzcGFjaW5nW2ldID0gU1BBQ0lO
RzsNCglvcmlnaW5baV0gPSAwLjA7DQogICAgfQ0KICAgIFNob3J0M0RJbWFn
ZVR5cGVQb2ludGVyOjpPYmplY3RUeXBlOjpSZWdpb25UeXBlIHJlZ2lvbjsN
CiAgICByZWdpb24uU2V0U2l6ZShzaXplKTsNCiAgICByZWdpb24uU2V0SW5k
ZXgoc3RhcnQpOw0KICAgIG15SW1hZ2UtPlNldFJlZ2lvbnMocmVnaW9uKTsN
CiAgICBteUltYWdlLT5BbGxvY2F0ZSgpOw0KICAgIG15SW1hZ2UtPlNldFNw
YWNpbmcoc3BhY2luZyk7DQogICAgbXlJbWFnZS0+U2V0T3JpZ2luKG9yaWdp
bik7DQogICAgU2hvcnQzREltYWdlVHlwZVBvaW50ZXI6Ok9iamVjdFR5cGU6
OkluZGV4VHlwZSBpZHg7DQogICAgZm9yKGludCB4ID0gMDsgeCA8IHNpemVb
MF07IHgrKykgew0KCWZvcihpbnQgeSA9IDA7IHkgPCBzaXplWzFdOyB5Kysp
IHsNCgkgICAgaWYgKERpbWVuc2lvbiA+IDIpIHsNCgkJLy8gZ2VuZXJhdGUg
M0QgZGF0YQ0KCQlmb3IoaW50IHogPSAwOyB6IDwgc2l6ZVsyXTsgeisrKSB7
DQoJCSAgICBpZHhbMF0gPSB4Ow0KCQkgICAgaWR4WzFdID0geTsNCgkJICAg
IGlkeFsyXSA9IHo7DQoJCSAgICBpZiAoeCA+IHNpemVbMF0gLyA0ICYmIHgg
PCAoc2l6ZVswXSAqIDMpIC8gNCAmJg0KCQkJeSA+IHNpemVbMV0gLyA0ICYm
IHkgPCAoc2l6ZVsxXSAqIDMpIC8gNCAmJg0KCQkJeiA+IHNpemVbMl0gLyA0
ICYmIHogPCAoc2l6ZVsyXSAqIDMpIC8gNCkgew0KCQkJbXlJbWFnZS0+U2V0
UGl4ZWwoaWR4LCAxMDApOw0KCQkgICAgfSBlbHNlIHsNCgkJCW15SW1hZ2Ut
PlNldFBpeGVsKGlkeCwgMCk7DQoJCSAgICB9DQoJCX0NCgkgICAgfSBlbHNl
IHsNCgkJLy8gZ2VuZXJhdGUgMkQgZGF0YQ0KCQlpZHhbMF0gPSB4Ow0KCQlp
ZHhbMV0gPSB5Ow0KCQlpZiAoeCA+IHNpemVbMF0gLyA0ICYmIHggPCAoc2l6
ZVswXSAqIDMpIC8gNCAmJg0KCQkgICAgeSA+IHNpemVbMV0gLyA0ICYmIHkg
PCAoc2l6ZVsxXSAqIDMpIC8gNCkgew0KCQkgICAgbXlJbWFnZS0+U2V0UGl4
ZWwoaWR4LCAxMDApOw0KCQl9IGVsc2Ugew0KCQkgICAgbXlJbWFnZS0+U2V0
UGl4ZWwoaWR4LCAwKTsNCgkJfQ0KCSAgICB9DQoJfQ0KICAgIH0NCn0gDQoN
Cg0KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KSB7DQoNCiAgICBT
aG9ydDNESW1hZ2VUeXBlUG9pbnRlciBpbWFnZTEgPSBTaG9ydDNESW1hZ2VU
eXBlOjpOZXcoKTsNCiAgICBTaG9ydDNESW1hZ2VUeXBlUG9pbnRlciBpbWFn
ZTIgPSBTaG9ydDNESW1hZ2VUeXBlOjpOZXcoKTsNCg0KICAgIGNvdXQgPDwg
InNldHRpbmcgdXAgaW1hZ2UgMS4uLiIgPDwgZW5kbDsNCiAgICBHZW5lcmF0
ZURhdGEoaW1hZ2UxKTsNCiAgICBjb3V0IDw8ICJzZXR0aW5nIHVwIGltYWdl
IDIuLi4iIDw8IGVuZGw7DQogICAgR2VuZXJhdGVEYXRhKGltYWdlMik7DQog
ICAgY291dCA8PCAiY2FsY3VsYXRpbmcgbWVhbnNxdWFyZXNtZXRyaWMuLi4i
IDw8IGVuZGw7DQogICAgZG91YmxlIG1ldHJpY1ZhbHVlID0gQ2FsY3VsYXRl
TWV0cmljVmFsdWUoaW1hZ2UxLCBpbWFnZTIpOw0KDQogICAgY291dCA8PCBt
ZXRyaWNWYWx1ZSA8PCBlbmRsOw0KICAgIA0KfQ0KDQo=

---559023410-851401618-1062621569=:22987--