Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: to windows crafty operators

Author: Eugene Nalimov

Date: 21:32:42 12/21/03

Go up one level in this thread


On December 21, 2003 at 23:50:21, Robert Hyatt wrote:

>On December 21, 2003 at 01:22:53, Eugene Nalimov wrote:
>
>>On December 20, 2003 at 23:03:54, Robert Hyatt wrote:
>>
>>>On December 19, 2003 at 20:43:41, Sean Mintz wrote:
>>>
>>>>This has been occuring with the past few versions of Crafty (19.5 to 19.8).  If
>>>>run for an extended period of time (a few hours), the amount of virtual memory
>>>>Crafty uses gradually adds up.  Over time this adds up to almost a gigabyte.
>>>>Does anyone else experience this?
>>>>
>>>>Sean Mintz
>>>
>>>
>>>Your adaptive command produces one question you can answer for me...
>>>
>>>use your adaptive command in "text mode" (console mode).
>>>
>>>then type a "level 0 5 3" command
>>>
>>>and the hash size will self-adjust.  Check the memory usage.  Then
>>>do
>>>
>>>" level 0 60 60" which should adjust hash size way up.
>>>
>>>Check memory usage again.  Then back to the level 0 5 3 and so forth,
>>>and the memory size should _not_ slowly increase. If it does, that will
>>>point me to what is happening in windows....
>>
>>If you can compile your own version of Crafty, can you please make the following
>>experiment: in file utility.c search for "WinFreeInterleaved", and replace
>>
>>void WinFreeInterleaved(void *pMemory, size_t cBytes) {
>>  VirtualFree(pMemory,                      // base address of block
>>              cBytes,                       // bytes of committed pages
>>              MEM_DECOMMIT|MEM_RELEASE);    // decommit the pages
>>}
>>
>>by
>>
>>void WinFreeInterleaved(void *pMemory, size_t cBytes) {
>>  VirtualFree(pMemory, 0, MEM_RELEASE);
>>}
>>
>>I suspect that will fix the problem.
>>
>>Thanks,
>>Eugene
>
>
>OK.  If that fixes it, is it something I should do in the existing source?
>Will it affect crafty/NUMA/windows?

Yes, please pick it up. You see, I never wrote "real" Windows applications :-),
so I don't know memory-related Windows API well, so I screwed up memory free. I
was not freeing memory when resizing (or re-allocating) hash tables...

Thanks,
Eugene



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.