I think this little exe is popcnt only.....it crashed right away in windows 10 x64 npopcnt....OliverBr wrote: ↑Sun May 23, 2021 11:25 pmThat's right.Ras wrote: ↑Sat May 22, 2021 3:41 pm But memory=1 is missing in the feature announcent in line 1529 so that this will not be used. From http://hgm.nubati.net/CECP.html:
memory N
Specifies the engine can use at most N megabytes of memory. Only sent when the engine requested it through feature memory=1, and never during a game.
Also, stdlib.h should be included to use calloc() (in which case the integer variable random needs to be renamed), and the scanf() in line 1552 is using the wrong format string for the type size_t of the variable wanted.
The import of stdlib.h is a little annoying. Another extra line and I can't use "random" anymore, of course. I had to rename it.
OliThink 5.9.5 is very small
Moderators: hgm, Rebel, chrisw
-
- Posts: 1242
- Joined: Sat Jul 05, 2014 7:54 am
- Location: Southwest USA
Re: OliThink 5.9.5 is very small
-
- Posts: 725
- Joined: Tue Dec 18, 2007 9:38 pm
- Location: Munich, Germany
- Full name: Dr. Oliver Brausch
Re: OliThink 5.9.5 is very small
You are talking about the OliThink Windows executable? Yes, the one on my homepage is popcnt only. I am surprised there are cpus running without popcnt out there...supersharp77 wrote: ↑Sun May 23, 2021 11:48 pm I think this little exe is popcnt only.....it crashed right away in windows 10 x64 npopcnt....
-
- Posts: 1242
- Joined: Sat Jul 05, 2014 7:54 am
- Location: Southwest USA
Re: OliThink 5.9.5 is very small
Yeah of course because others have been putting out Olithink compiles for years all over the net..Java..exes you name it..OliverBr wrote: ↑Mon May 24, 2021 12:08 amYou are talking about the OliThink Windows executable? Yes, the one on my homepage is popcnt only. I am surprised there are cpus running without popcnt out there...supersharp77 wrote: ↑Sun May 23, 2021 11:48 pm I think this little exe is popcnt only.....it crashed right away in windows 10 x64 npopcnt....
lots of those compiles have bugs it seems..The java compiles just stop working in some GUI's..
some don't work at all...
-
- Posts: 12542
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: OliThink 5.9.5 is very small
I guess HGM can explain. I have no idea.OliverBr wrote: ↑Sun May 23, 2021 11:15 pmI am implementing now your code and there is something I don't understand:Dann Corbit wrote: ↑Sat May 22, 2021 10:35 am Of course, any changes I make you can use without asking permission. IOW, you have my implicit permission to use any tweaks I ever make to Olithink.
Using xboard I configured 1024 MB Hashsize, but xboard sends the following string to the engine:
What exactly is the purpose of those "4 Mbyte extra"?Code: Select all
memory 1028
Especially since 1024 is a power of 2 and 1028 is not.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 2488
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: OliThink 5.9.5 is very small
I'd draw a line where minimalism impacts robustness. For example, I'd also add error handling for calloc() and try half the allocation of the previous attempt if it returns NULL, or exit if even the minimum allocation (e.g. 1 MB) fails.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net
-
- Posts: 725
- Joined: Tue Dec 18, 2007 9:38 pm
- Location: Munich, Germany
- Full name: Dr. Oliver Brausch
Re: OliThink 5.9.5 is very small
Of course you have a point about this.
But I have another issue: When the memory is dynamically allocated, the version loses a couple of ELOs. This is a simple performance issue, it's somewhat slower even though it's hardy measurable.
I have this issue, too, when combining "generateNoisy" and "generateQuite" into one method, which is elegant, but loses even more ELO points.
-
- Posts: 1784
- Joined: Wed Jul 03, 2019 4:42 pm
- Location: Netherlands
- Full name: Marcel Vanthoor
Re: OliThink 5.9.5 is very small
Indeed. POPCNT was introduced in 2008, so you'd need to be running a Core2Duo or Core2Quad or even older CPU to not have it. (I don't know on top of my head when AMD introduced this instruction.)
I can only think of a few reasons why you'd run a CPU without POPCNT:
- For retro-purposes
- If you _really_ don't have any money to get a second hand computer built after 2008. (I've seen computers built in 2016 been given away for free, or for a token price such as €25.)
I still have an old Core2Duo laptop lying around to see if non-POPCNT compiles actually start. I provide a 32-bit generic compile, but I just test that on my normal computer. If it starts, I'm fine with it. If it's going to give me problems in the future, I'll drop it. It isn't even extensively tested, as it's about half the speed of the 64-bit compile.
-
- Posts: 12542
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: OliThink 5.9.5 is very small
I think the bigger hash is important because SMP is just around the corner. And when Olithink has SMP, a small hash table will fill up in a heartbeat on big hardware.OliverBr wrote: ↑Mon May 24, 2021 11:01 amOf course you have a point about this.
But I have another issue: When the memory is dynamically allocated, the version loses a couple of ELOs. This is a simple performance issue, it's somewhat slower even though it's hardy measurable.
I have this issue, too, when combining "generateNoisy" and "generateQuite" into one method, which is elegant, but loses even more ELO points.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 1242
- Joined: Sat Jul 05, 2014 7:54 am
- Location: Southwest USA
Re: OliThink 5.9.5 is very small
mvanthoor wrote: ↑Mon May 24, 2021 12:27 pmOh..really Free Computers Given Awaqy in Amsterdam? Wheres That at for these circa 2016 Laptops for sale or given away for 25 Euros? Your got any links for these "sales"? You can't blow Smoke for Free in USA Hash Houses..Sorry Mate...OliverBr wrote: ↑Mon May 24, 2021 12:08 am
I can only think of a few reasons why you'd run a CPU without POPCNT:
- For retro-purposes
- If you _really_ don't have any money to get a second hand computer built after 2008. (I've seen computers built in 2016 been given away for free, or for a token price such as €25.)
-
- Posts: 1784
- Joined: Wed Jul 03, 2019 4:42 pm
- Location: Netherlands
- Full name: Marcel Vanthoor
Re: OliThink 5.9.5 is very small
Here you go for desktopssupersharp77 wrote: ↑Tue May 25, 2021 1:37 am Oh..really Free Computers Given Awaqy in Amsterdam? Wheres That at for these circa 2016 Laptops for sale or given away for 25 Euros? Your got any links for these "sales"? You can't blow Smoke for Free in USA Hash Houses..Sorry Mate...
And laptops
Lots of stuff for free, somewhere in the range of €25-100, or price negotiable. Some hardware is really old, but some of the hardware is newer, low-end stuff that does have the necessary functionality. You still won't get a monster computer, but it'll at least be 5-7 years newer than a Core2Duo-era machine. There are more sites beside this one.