Chat:Ru/2020-10-07
gsomix: wlesavo, нет, кажется, это локальная проблема с некоторыми ботами. Я наоборот резко спустился в рейтинге. Даже в CSB, где у меня -3*vel и не может быть таймаутов. :)
magaiti: https://www.youtube.com/watch?v=94KtQMnxrpw
735487: vrabosh: тебе нужен форматированный вывод по идее
Uljahn: гуглится за минуту, поэтому я всё время забываю, как это делать :upside_down:
MadKnight: gsomix
gsomix: MadKnight, внимательно слушаю. :)
MadKnight: gsomix это у тебя бот крашится в первый ход, поэтому ты в топе упал в ranks, где у всех вокруг тебя боты падают в первый ход
gsomix: Да.
MadKnight: это народ у кого примерно 1.5 score
MadKnight: так с какой ошибкой падает твой бот?
gsomix: Таймаут.
gsomix: В IDE всегда нормально отрабатывает.
gsomix: Такая ерунда на любых играх. В дискорд написал.
MadKnight: gsomix они вроде стали компилить сабмит версию в Release сборке
MadKnight: gsomix твой код нормально работает в Release ?
gsomix: MadKnight, стой, а раньше компилили в дебаге? %)
gsomix: Срамота какая.
MadKnight: так а как ты будешь дебажить проблему, которая только возникает при сабмите?
gsomix: MadKnight, выводом в stderr? Какие тут могут быть иные варианты?
MadKnight: gsomix так если только при сабмите баг появляется
gsomix: Можно же реплей выкачать? Или там только инпуты?
MadKnight: хммм вроде они недавно пытались stderr из реплеев отображать
gsomix: В реплеях ничего полезного.
gsomix: MadKnight, я сбросил бота до дефолта.
gsomix: Просто чтение из консоли и вывод одной и той же команды.
gsomix: Таймаут. :)
MadKnight: напиши им в bug-report
gsomix: MadKnight, я уже написал. Спасибо.
gsomix: C# отрабатывает нормально.
gsomix: Это довольно странно, и C#, и F# на одном и том же неткоре.
735487: в реплеях есть дебаг но не весь
MadKnight: gsomix а другие игры работают?
gsomix: Нет.
gsomix: У меня смутное подозрение, что у них сборка F# сломалась при обновлении неткора.
gsomix: Хотя паззлы работают.
gsomix: И IDE тоже.
gsomix: Подожду. :)
magaiti: кто шарит в симуляцции гоночек? есть смысл переделывать с float на целочисленную арифметику?
MadKnight: неа
MadKnight: оптимизатор использует спец регистры для нецелых чисел
MadKnight: они достаточно быстрые и как AVX - могут сразу несколько считать
MadKnight: ты кстати запилил симуляцию 8 игр за раз?
magaiti: нет, как это
MadKnight: есть спец 256-битный регистр
MadKnight: в него можно засунуть сразу 8 флоатов
MadKnight: а потом перемножить сразу 8 флоатов на 8 флоатов
MadKnight: плюс они же дают 1 ядро а не 1 logical thread
MadKnight: а 1 ядро может параллельно выполнять 2 потока
magaiti: хм, и как с ними работать на плюсах?
MadKnight: https://www.codingame.com/playgrounds/283/sse-avx-vectorization/what-is-sse-and-avx
MadKnight: ты q_rsqrt заюзал кстати?
magaiti: да нафиг он
magaiti: в полтора раза быстрее обчного
magaiti: а точность никакая
MadKnight: а обычный - это какой?
magaiti: std::sqrt
MadKnight: так я не про него
MadKnight: я про 1/sqrt()
magaiti: да мне вроде особо не нужен в симе. в оценочную можно, наверное
MadKnight: нормализуешь вектора где-нить?
MadKnight: делишь на длину вектора?
magaiti: ща посмотрю
MadKnight: это как раз 1/sqrt
MadKnight: ты же знаешь, что деление в 14 раз медленнее умножения?
magaiti: что-то такое есть
MadKnight: деление совсем чуть-чуть быстрее чем sqrt
magaiti: ну да, деление + корень в 2.5 раза медленнее быстрого корня
magaiti: хз, у него точнсть меньше 1%
MadKnight: хмм покажи тестовый код
magaiti: http://chat.codingame.com/pastebin/86341b77-ec50-4b39-b344-d113efd66a6d
MadKnight: Invalid paste id, perhaps it expired?
magaiti: http://chat.codingame.com/pastebin/c7eadce4-967e-433c-bb63-da42008e0a13
MadKnight: в лс
MadKnight: обнаружили, что оптимизатор сам заменяет деление на умножение а 1/sqrt на Q_rsqrt
magaiti: на rsqrtss
MadKnight: ss - это для флоатов, magaiti
magaiti: я для флоатов и мерил
MadKnight: типа для даблов было бы без ss
magaiti: и Q_rsqrt тоже для флоатов
YurkovAS: сам не проверял, можно кешировать коллизии или проверять их при пересечении по сетке https://github.com/Illedan/Post-Mortem/blob/master/Mean-Max.md#cache-collisions
YurkovAS: про кеш коллизий слышал, что заметно ускоряет, сам не смог реализовать
YurkovAS: корни можно же предрасчитать в большой массив на 1-м ходу
magaiti: хватит массива на квадраты расстояний?
YurkovAS: а, я думал ты про корни для UCB формулы
YurkovAS: там еще и логарифмы в ней есть
magaiti: хм, не хочет корень векторизовать
magaiti: хз туфта какая-то
magaiti: без векторизации в 2 раза быстрее
magaiti: если так, по фасту коллижен векторизовать
MadKnight: покажи код