Skip to content

After introduction of a itp correction based on number of running tests we have the odd situation that running more then 6 tests leads to a smaller total itp (and so total cores). Here the formula is changed that the total itp for more than 6 running tests is fixed to the same value as if tunning 6 tests.#1844

Closed
locutus2 wants to merge 1 commit intoofficial-stockfish:masterfrom
locutus2:fix_total_itp

Conversation

@locutus2
Copy link
Member

@locutus2 locutus2 commented Nov 2, 2023

…ts we have the odd situation that running more then 6 tests leads to a smaller total itp (and so total cores). Here the formula is changed that the total itp for more than 6 running tests is fixed to the same value as if tunning 6 tests.

…ts we have the odd situation that running more then 6 tests leads to a smaller total itp (and so total cores). Here the formula is changed that the total itp for more than 6 running tests is fixed to the same value as if tunning 6 tests.
@locutus2
Copy link
Member Author

locutus2 commented Nov 2, 2023

It was always odd that a user which run more than 6 tests at once starts to loosing cores in the total. This fix keeps the total itp the same for 6 or more tests.

We had discussed this also here #1831. But i factored this out for an own PR.

Maintainers please check this. I have no local fishtest instance for really testing this but i have checked the changed code part in an online python interpreter and there it works as expected.

@locutus2 locutus2 changed the title After introduction of a itp correction based on number of running tes… After introduction of a itp correction based on number of running tests we have the odd situation that running more then 6 tests leads to a smaller total itp (and so total cores). Here the formula is changed that the total itp for more than 6 running tests is fixed to the same value as if tunning 6 tests. Nov 2, 2023
@locutus2
Copy link
Member Author

locutus2 commented Nov 2, 2023

I could use in this PR also my original formula from the other PR:

capped_count = min(count, 6)
itp *= 36.0 / (36.0 + capped_count * capped_count ) * capped_count  / count 

But i think this hiddes the fact that we can here two different functions combined (aka piece wise function) with the common point at 6 tests. So the if statement seems more explicit.

@vondele
Copy link
Member

vondele commented Nov 2, 2023

The original choice was actually on purpose... it is there as an incentive to those having many tests running, to prioritize their own tests by pausing overlapping ideas.

@locutus2
Copy link
Member Author

locutus2 commented Nov 3, 2023

@vondele
But that is mainly archived by the behavior of the formula up to 6 tests. if i would use 12 instead of 6 my formula means that each test uses only half the resources instead of even less as in current version. And i think that should be the decision of the dev. But i think both ways are ok. Most important its contrary to my aesthetic sensibilities because its seem unlogical and counterintuitive ;-). I know in Stockfish we have several such code but at least there we gained elo!

@locutus2
Copy link
Member Author

locutus2 commented Nov 9, 2023

As the point of view of the maintainers are now clear and no further discussion come up i close the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants