On-line: guests 1. In total there are: 1 [information..]
AuthorTopic
Bison



Post №: 71
Joined: 20.06.09
Rank: 2
link post  Posted: 19.10.09 12:18. Post subject: IPPOLIT & ROBBOLITO


Предлагаю обсудить особенности устройства Ипполита. Все-таки некаждый день появляются сильнейшие opensource программы.

Say thanks!: 1 
Profile Reply
Replys - 251 , page: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [new only]


Osipov



Guest
Joined: 01.01.70
link post  Posted: 21.10.09 22:37. Post subject: Извиняюсь, PGN парти..


Извиняюсь, PGN партий пожалуй не подойдёт. Там играли на время, а это почти нереально воспроизвести.
Ладно, придётся самому искать глюки.

Сегодня провёл турнир под своей оболочкой между Ипполитом и "своей" версией Рыбки 3. Играли 412 партий из 206 начальных позиций, оба считали на фиксированную глубину depth=6. Начиная с 12-й партии на Ипполита напала порча - начал сливать всё подряд. Где-то между 220-й и 280-й партиями почему-то восстановился и начал выигрывать. Потом опять провалился и слил.
Итог: +60 -268 =84 в пользу Рыбки.
Было несколько партий, где Ипполит надолго задумывался - тратил времени раз в 10 больше, чем Рыбка. И узлов в итоге насчитал почти в 3 раза больше.
Есть над чем подумать.


Say thanks!: 1 
Reply
Кевин
Резидент


Post №: 2218
Joined: 06.01.08
Rank: 24

Awards: За отличные редкие и эксклюзивные вещи!За Рыбку!!!! СПАСИБО!За Джуню 2010
link post  Posted: 22.10.09 05:15. Post subject: Osipov , bankuss и д..


Osipov , bankuss и другие программисты: какой компилятор посоветуете? Как для компиляции Ипполита, так и вообще. Хочу немного поизучать языки программирования, раз уж тут такая интересная тема - на руках есть исходникик Ипполита.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1816
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 22.10.09 05:55. Post subject: Кевин просто для изу..


Кевин просто для изучения достаточно бесплатной версии VS express (2005 или 2008). качается с мелкософта.
а так, самый быстрый код выдает компилятор от intel, но он в версии для windows стоит немалых денег.

Say thanks!: 1 
Profile Reply
NS
VIP


Post №: 1340
Joined: 16.09.07
Rank: 5
link post  Posted: 22.10.09 09:44. Post subject: http://software.inte..


http://software.intel.com/en-us/articles/intel-c-compiler-professional-edition-for-windows-evaluation/
Вот тут можно скачать месячный триал.

Say thanks!: 1 
Profile Reply
kpripper
Виновник торжества


Post №: 353
Joined: 19.10.08
Rank: 3

Reprimands: За мат в названии темы!
link post  Posted: 22.10.09 10:36. Post subject: Прикрутите кто-нибуд..


Прикрутите кто-нибудь поддержку нескольких линий в анализе или это сложно ?

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1818
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 22.10.09 10:41. Post subject: kpripper было бы про..


kpripper было бы просто, давно бы сделали.

Say thanks!: 0 
Profile Reply
unknow



Post №: 92
Joined: 19.12.08
Rank: 0
link post  Posted: 22.10.09 12:13. Post subject: Кевин пишет: какой ..


Кевин пишет:

 quote:
какой компилятор посоветуете?


Я пользую CodeLite (это IDE - редактор и отладчик) + компиляторы MinGW. Это всё бессрочно бесплатно.

Для компиляции Ипполита с помощью MinGW надо в localdefs.h
заменить ассемблерный инлайн BSF/BSR на:
 
extern int asm_rbit_pos(UINT64 val) __attribute__ ((regparm(2)));
#define BSF asm_rbit_pos

extern int asm_lbit_pos(UINT64 val) __attribute__ ((regparm(2)));
#define BSR asm_lbit_pos
и добавить в проект CodeLite исходник asm.s с текстом:

 
############################################################
# int asm_rbit_pos(u64 val) __attribute__ ((regparm(2)))
# lo32 -> %eax
# hi32 -> %edx

.globl _asm_rbit_pos

_asm_rbit_pos:
testl %eax, %eax
jz r_hi
bsfl %eax, %eax
jmp r_ret

r_hi:
bsfl %edx, %eax
addl $32, %eax

r_ret:
ret

############################################################
# int asm_lbit_pos(u64 val) __attribute__ ((regparm(2)))
# lo32 -> %eax
# hi32 -> %edx

.globl _asm_lbit_pos

_asm_lbit_pos:
testl %edx, %edx
jz l_lo
bsrl %edx, %eax
addl $32, %eax
jmp l_ret

l_lo:
bsrl %eax, %eax

l_ret:
ret

Ну и еще добавлять в конец длинных 16-ричных констант суффикс ULL,
чтобы warning'и не сыпались при компиляции.

Say thanks!: 1 
Profile Reply
Renegat23
administrator


Post №: 4617
Joined: 14.07.07
Rank: 24

Awards: Молодец! Спасибо за интересный материал!!!За безудержный оптимизм!;-)
link post  Posted: 22.10.09 15:56. Post subject: Господа программисты..


Господа программисты (ThinkingALot, Bison, Osipov, NS, WildCat, WinPooh, ChessTerminator75, bankuss). Два вопроса.

1) Почему ослабела версия d по сравнению с b ?
2) Возьметься все-таки кто-нибудь приделывать движку многопоточность или так друг на друга и будем кивать?

Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 3004
Joined: 14.07.07
Rank: 56
link post  Posted: 22.10.09 16:03. Post subject: Renegat23 пишет: 2)..


Renegat23 пишет:

 quote:
2) Возьметься все-таки кто-нибудь приделывать движку многопоточность или так друг на друга и будем кивать?



Ака ты махнул с многопоточностью!
Я бы просто хотел multiPV увидеить для начала, а то для анализа он очень неудобен пока что, кроме того в ИДЕЕ аквариумской он тоже не работает :( так как команду searchmoves тоже не поддерживает.. А там глядишь уже и рыбка 4 поспеет и как верно замечено было - все постепенно забудут про Ипполит, пока не выйдет Ипполит 2 основанный на коде Рыбки 5

Say thanks!: 0 
Profile Reply
Renegat23
administrator


Post №: 4619
Joined: 14.07.07
Rank: 24

Awards: Молодец! Спасибо за интересный материал!!!За безудержный оптимизм!;-)
link post  Posted: 22.10.09 16:05. Post subject: immortal223 пишет: ..


immortal223 пишет:

 quote:
Я бы просто хотел multiPV увидеить для начала


ИМХО, многопоточность гораздо более актуальна, чем mPV. Анализировать вполне можно и по одной линии. А вот скорость...

Say thanks!: 0 
Profile Reply
ThinkingALot
VIP


Post №: 96
Joined: 05.09.08
Rank: 2
link post  Posted: 22.10.09 16:15. Post subject: Renegat23 пишет: 1)..


Renegat23 пишет:

 quote:
1) Почему ослабела версия d по сравнению с b ?
2) Возьметься все-таки кто-нибудь приделывать движку многопоточность или так друг на друга и будем кивать?



1) Смысл версии d исключительно в длительном хранении результатов анализа. Почему играет слабее - без понятия. Может статистическая погрешность.
Разница скорее всего в пределах 20-30 пунктов.
2) Это очень долго и скучно. К примеру, просто переопределение всех структур под мультипоточность для движка по сложности сопоставимого со Стрелкой заняло у меня пол дня.
Код Ипполита многократно сложнее. При этом распараллеливание a-la Фрукт может запросто вообще не сработать, а нормальный алгоритм, как в Stockfish, - это возня с каждой из множества функций поиска.

Say thanks!: 1 
Profile Reply
immortal223
administrator


Post №: 3005
Joined: 14.07.07
Rank: 56
link post  Posted: 22.10.09 16:16. Post subject: Renegat23 Зато при..


Renegat23

Зато приделать её в 100 раз труднее

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1821
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 22.10.09 17:24. Post subject: кстати, если компиля..


кстати, если компилять интеловским компилятором в дебаг режиме, то он при запуске ехе начинает ругаться на
static __inline int BSF (UINT64 x)
{
int y;
_BitScanForward64(&y,x);
return y;
}
что эта функция портит стэк

Say thanks!: 0 
Profile Reply
ThinkingALot
VIP


Post №: 98
Joined: 05.09.08
Rank: 2
link post  Posted: 22.10.09 18:36. Post subject: Есть какое-нибудь ус..


Есть какое-нибудь ускорение от ICC?

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1822
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 22.10.09 18:50. Post subject: ThinkingALot не изве..


ThinkingALot не известно. если release версию сделать то к 12 полуходу она вызывает ошибку и вылет в ос

Say thanks!: 0 
Profile Reply
ThinkingALot
VIP


Post №: 99
Joined: 05.09.08
Rank: 2
link post  Posted: 22.10.09 19:13. Post subject: Возмодно поможет одн..


Возмодно поможет одно из 3x:
1) Переписать BSF/BSR на ассемблере: bsf/bsr rax, x
2) Убрать опции /Qipo, /ipo - в общем отключить interprocedural optimization.
3) Попробовать Profile Guided Optimization.

Say thanks!: 0 
Profile Reply
ThinkingALot
VIP


Post №: 101
Joined: 05.09.08
Rank: 2
link post  Posted: 22.10.09 19:43. Post subject: Погонял infinite ana..


Погонял infinite analysis по несколько минут версии d в сравнении с b. Создалось впечатление, что у d больше branching factor. То есть глубины 16 достигают примерно одновременно, а до 20 версия d считает в несколько раз дольше. Хотя возможно это всего лишь статистическая погрешность.

Say thanks!: 0 
Profile Reply
дуп



Post №: 34
Joined: 18.03.08
Rank: -1
link post  Posted: 22.10.09 20:19. Post subject: Может быть немного н..


Может быть немного не в тему, извиняйте. Надоело глядеть на эти дебильные имена, вручную переименовывать влом, все-таки 14,5 тысяч строк. Решил механизировать процесс. Начал писать программульку, завтра будет готова. Только писать тоже влом, может быть у кого готовое чего есть, чтобы не изобретать велосипед. Задумка такая: Создаешь папку, туда эту самую прогу и любой текстовый файл, например "IPP_ENG.c". Вводишь старое слово и новое. И все. Прога создает тут же новый файл, точно такой же и с таким же расширением. Все различия - все заданные имена поменяны на новые.
Так есть у кого чего-нибудь наподобе?

Say thanks!: 0 
Profile Reply
Ramzes II
VIP


Post №: 303
Joined: 02.10.07
Rank: 6

Awards: За ваш труд!
link post  Posted: 22.10.09 20:36. Post subject: А зачем изобретать в..


А зачем изобретать велосипед? Тот же Notepad++ способен заменять имена.

Say thanks!: 1 
Profile Reply
Gata



Post №: 335
Joined: 21.02.08
Rank: -1
link post  Posted: 22.10.09 21:01. Post subject: Обычный блокнот тоже..


Обычный блокнот тоже справится

Say thanks!: 1 
Profile Reply
Replys - 251 , page: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [new only]
Тему читают:
- user online
- user offline
All times are GMT  2 Hours. Hits today: 6
You can: smiles yes, images yes, types no, poll no
avatars yes, links on, premoderation on, edit new post no