Closed double-beep closed 6 years ago
UTC -5
Updated change-log to your last version.
Hi, @Counterply, thanks for the wiki update. I think here, you should add a suggestion label to this issue :). Sorry for the "inertia" the last ~3-4 days; I am in a hotel with poor internet connection playing a national chess tournament. I should never forget my chess obligations :-).
I really think that option U - Update fasmg.exe
is not required. The thing you can do, is to tell make.bat to automatically update fasmg.exe in the beginning.
Question: Only fasmg.exe
is updated with the download.vbs
file or both fasmg
and fasmg.exe
?
Could you let me prepare the easy patch Tuned some values...
or you can do it?
I will prepare wiki's change-log soon. How did you make the latest 'updater' me? (double-beep) By the way, the title seems great to me :-) and your idea about benching armFish with TRAVIS which supports qemu. You could make a script after, to bench Mac and Linux, as Travis supports them, also. @double-beep
I initially had it as updating fasmg at the beginning like you suggested, but I quickly found that to be annoying and unnecessary considering fasmg is only updated once every few months (usually). I think leaving it as an option for the user is an effective compromise that doesn't waste time every round of assembly.
As written in the output message, only fasmg.exe is updated.
Yes, please be my guest if you want to help contribute to the patches. It is very hard being the only one working on asmFish at the moment, so all help is VERY appreciated.
All patches on the lantonov repository must be in order but bit.ly/asmFishCP can be updated at anytime, in any order. We will get to them here eventually, too, so no effort is wasted.
I used git commit --amend --author="Author Name <email@address.com>"
I have been thinking about qemu, and I think the best way to go about doing this is via Docker. Someone posted a thread a while back in which they sucessfully set up a Docker container for asmFish so that could be a great starting point.
Good luck in your chess tournament!
Hi @Counterply, I saw your messages, I was busy with training. I will complete the patch today as the tournament ends! Instead of waiting please try what you said above about benching armFish with a dockerfile.
It is fine. I already completed the patch along with 7 others. I will commit them here once the arm versions are complete.
Hello @Counterply,
start /min /wait
in :allBinaries
.I deleted those lines because it saves several seconds when I assemble locally. Since it breaks make.bat for your system, however, I will put it back during the next commit.
Thanks for looking into Docker. I will create an account soon.
Hi @Counterply, when I look code at move_do_null, I see in line 25 "mov edx, dword[rbx+State.epSquare]", why just "movzx edx, byte[rbx.State.epSquare]", this line neglect value of capturedpiece that we used on updatestat, other than we keep copying it new State with different possidetomove.
Hi @cirebonb, this is not correct:
flat assembler version g.i88rw
x86\fish.asm [173] x86\Move_DoNull.asm [25]:
movzx edx, byte[rbx.State.epSquare]
macro movzx [2] macro parse_operand [5] macro parse_operand_value [21] macro parse_address [13]:
ns.address = +addr
Processed: @src.address = +rbx.State.epSquare
Error: symbol 'epSquare' is undefined or out of scope.
This is a problem in compilation after command:
fasmg.exe "x86\fish.asm" "asmFishW_base.exe" -e 1000000 -i "VERSION_OS='W'" -i "PEDANTIC = 1" -i "VERSION_POST = 'base'" %debug%
@Counterply, there is again a newer version of fasmg.exe, g.i8nim. I am testing at the moment.
Newest version is about 50 seconds faster.
hi @doublebeep not [rbx.State.epSquare] but [rbx+State.epSquare]
not @doublebeep but @double-beep
@cirebonb
Unless I misunderstood your original question, zero-extending byte[rbx+State+epSquare] into rdx alters the bench from the correct value of 4777674 to an incorrect value of 4843129. This is due to partial-hammering of the edx register, which I don't think is particularly desirable here. Even if it was, however, this branch is for official bench-match versions only.
@cirebonb, sorry for that, of course we cannot say rbx.State.epSquare
; I didn't take a further look.
@Counterply as about the dockerfile, I am experimenting with it the last 4 days, but I could not find a command to bench the executables. Any ideas? And by the way what is your username in dockerhub?
yes, sorry my mistake
@double-beep
Thank you very much for looking into it. Sorry for being unresponsive these past few days; I have been under several work-deadlines and have not had much free time.
I made an account on DockerHub -- CounterPly.
Hello, @Counterply it is ok.
I have created a repository here. I use as SOURCE_REPO
my fork as there I got the dockerfile. You have admin access, you can change it when you want.
The last days I was trying to find a command to bench the executables. [Note: Server there, assembles the executables very slow (~60-80secs). You can see the logs.] The one that had to work was:
&& ./armFishL_v8 bench
Unfortunately, I got a message: Access is denied
and build failed. If you know docker well, as I do not know, can you help?
Hello, there is a newer version of fasmg once again: flat assembler g i8q67
Results of my testing: flat assembler g i8q67 is slower that g.i8nim -> ~4seconds per build and totally 2minutes(!) slower, so I think this version should not be included in asmFish.
Hello, Justin
Based on your work I have prepared patches until
Simply reset statScore to zero at beta cutoff
. You can merge this to master. Also, I have fixed make.bat.
Will you implement the "cuckoo" patches?
Fasmg.exe when is open with start /min build ALL the executables or just first e.g. 4 per time?
I may not have the time to upload my work on the latest patch as I am going on holiday in a mountain. I will not have access to my laptop for the next 7days.
flat assembler g i960e is the newest version of fasmg. Testing at the moment and will respond later.
At total, version i960e is ~10secs faster. I think this version should be included.
Will patches:
If not, when asmFish's and stockfish's benches will realign?
Sorry for the late reply.
Thank you for testing. I will update fasmg with the next functional patch.
Yes, the cuckoo patches will be implemented eventually. I have been working on them over the past week whenever possible, but I have been very busy lately at work and have not had much time to do patches. (I may or may not need @tthsqe12 's help on this one, but honestly, I haven't given it a complete enough of an attempt to say for sure).
Since the cuckoo patches will probably take a while to get right, I've decided to also continue implementing subsequent functional patches on my asmFish fork while official progress is on pause (for those users who would be interested in these). Currently, it is a few patches ahead of the official branch and should be at least marginally stronger.
Hi,
Except the change I offered for make.bat in issue #211, I have some more simplifications. Especially in :allBinaries (and in other labels of course) you always specify
set include=x86\include\
Why just
:allBinaries
set include=x86\include\
and delete the same command in this label? (except when you specify set include=arm\include). This can be done with other labels of course.
Some move
commands need simplification in make.bat also. Take a look please if you can.
Noted. I will look at it during the next asmFish commit.
A general comment though: I don't think make.bat is important enough to justify rigorous optimization. It is fine if you want to spend your spare time tweaking it, but remember that most people shouldn't even need to use it anyway since binaries are assembled with every commit.
Remember, it isn't a chess engine that evaluates millions of nodes per second. It is a batch file. Eliminating an extra move command here or there will probably only save nanoseconds -- if that.
Thank you for your dedication, though. It is much appreciated.
Hello Asmfish Team, Could you please update us if it is time to mourn the death of AsmFish? I hope it is not
@wisecam
no its not dead. they posted an update on other forums and counterplys branch is still a bit active with some extra patches every once in a while
source: http://immortalchess.net/forum/showthread.php?t=32349&page=29 http://mzchessforum.altervista.org/viewtopic.php?f=31&p=28810#p28810
@Counterply @lantonov came back to github and updated his fork of stockfish. Hope he has the time to 'see' asmFish.
this project is falling more and more behind sadly. ah well.
/edit: see below.
@mausalimi As previously stated by others here, please refer to my fork for the time being until I can get the cuckoo tables working properly. It contains all patches through early July 2018 and will soon be caught up to the month of August. As soon as the cuckoo patch is complete, the benches will be once again perfectly realigned and I will begin moving patches back over to this repository.
I am closing this thread since it has grown quite long and difficult to navigate. Special thanks to @double-beep for all of the excellent topics/questions/responses provided here.
(Moving forward, it will probably be easiest for everyone to maintain all questions/concerns as separate issues/topics).
Hello @lantonov and @Counterply, I have the following questions:
11.05.2018
. Can you ask @lantonov, to update it? Wiki has the same problem, too!