Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

solve_innerをno_std環境で動くようにする #24

Open
primenumber opened this issue Feb 8, 2024 · 4 comments
Open

solve_innerをno_std環境で動くようにする #24

primenumber opened this issue Feb 8, 2024 · 4 comments

Comments

@primenumber
Copy link
Owner

現状はオフロード先ごとに実装を書いているが、ある程度共通化したい
そのために、ボード操作や終局付近での探索がno_std環境で動くようにしたい
探索部全体がオフロードできなくても、終盤n手がオフロードできるとうれしい

@primenumber
Copy link
Owner Author

solve_inner全体だと評価関数と置換表が厳しそうだ

@primenumber
Copy link
Owner Author

評価関数テーブルは解凍処理と評価処理を完全に分離すればいけそう
置換表はallocを仮定すればいけそうだが…

@primenumber
Copy link
Owner Author

#28 でx86_64依存(特にAVX2, BMI2依存)は無くせた

@primenumber
Copy link
Owner Author

置換表をno_std環境で動かすなら、排他制御にスピンロックを使う必要がありそう。
ところが置換表においてはスピンロックがパフォーマンス低下要因になり得ることが分かったので、これはよくない可能性がある
パフォーマンスの問題を解決するか、オフロード時にはシングルスレッド用のsharding無しの置換表だけ使うか?

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

No branches or pull requests

1 participant