aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused MX_FORMULAS() macro supportthegeorg2024-02-051-1/+0
|
* Intermediate changesrobot-piglet2024-02-056-11/+32
|
* Automatic release build for ymake, os_ymakerobot-ya-builder2024-02-053-10/+20
| | | | | | | | | From hash: [6441d7748c4d817cab34b46fee2824718e9ae263](https://a.yandex-team.ru/arcadia/commit/6441d7748c4d817cab34b46fee2824718e9ae263) From revision: [13358323](https://a.yandex-team.ru/arcadia/commit/rXXXXXX) [CI flow](https://a.yandex-team.ru/projects/ya_make/ci/releases/flow?dir=devtools%2Fya&id=release-ymake&version=160) Flow triggered by user: [robot-ci](https://staff.yandex-team.ru/robot-ci) Update tools: ymake, os_ymake
* (no commit message)pg2024-02-045-117/+33
|
* Remove various unused sysincls from unsorted.ymlthegeorg2024-02-041-14/+0
|
* Intermediate changesrobot-piglet2024-02-041-8/+8
|
* Move windows-specific sysincls to windows.ymlthegeorg2024-02-042-4/+3
|
* Remove unused -ish.h headers resolvingthegeorg2024-02-041-11/+0
|
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-02-041-1/+1
|
* Clarify wrl headers resolutionthegeorg2024-02-043-18/+15
|
* Remove empty math_constants.h resolving from unsorted.ymlthegeorg2024-02-041-3/+0
| | | | It is already listed in `nvidia.yml`.
* Disable empty resolving of libgit2-specific includesthegeorg2024-02-041-4/+0
|
* Disable empty resolving of zzip-[1-5].h headersthegeorg2024-02-041-5/+0
|
* Remove windows-specific headers resolving from unsorted.ymlthegeorg2024-02-041-5/+0
| | | | All the headers (with an exception for unused macsocket.h) are already listed in windows.yml
* Disable empty doc/ includes resolvingthegeorg2024-02-041-6/+0
|
* Update contrib/restricted/boost/asio to 1.71.0thegeorg2024-02-044-20/+30
|
* Intermediate changesrobot-piglet2024-02-04138-11580/+16
|
* Support nonstandard 'ar' versionsakhropov2024-02-042-4/+6
|
* Intermediate changesrobot-piglet2024-02-04234-6381/+455
|
* Remove empty resolving of tr1/ and ext/ includesthegeorg2024-02-031-11/+0
|
* Disable ext/ and tr1/ headers resolvingthegeorg2024-02-031-2/+2
|
* Move macOS-specific sysincls to where they belongthegeorg2024-02-032-4/+1
|
* Update contrib/libs/re2 to 2024-02-01robot-contrib2024-02-036-22/+64
|
* yamaker: Disable tr1/ and ext/ includes by defaultthegeorg2024-02-031-1/+1
|
* Disable non-existing macOS includethegeorg2024-02-032-2/+2
|
* Fix bug after rXXXXXXkickbutt2024-02-032-15/+21
|
* Intermediate changesrobot-piglet2024-02-033-46/+12
|
* Update contrib/python/MarkupSafe/py3 to 2.1.4robot-contrib2024-02-033-11/+38
|
* Fix: add input file as MAIN_DEPENDENCY in Cython call..akhropov2024-02-032-0/+2
|
* Update boost/asio and boost/process to 1.70.0thegeorg2024-02-0212-144/+580
|
* Intermediate changesrobot-piglet2024-02-027-6/+240
|
* Update contrib/libs/libunwind to 18.1.0-rc1dtorilov2024-02-0227-681/+2766
|
* Update vendor/go.opentelemetry.io/otel to 1.22.0robot-contrib2024-02-0218-69/+218
|
* Intermediate changesrobot-piglet2024-02-021-1/+1
|
* Bump CUDA -> 11.4 and cuDNN -> 8.0.5kickbutt2024-02-022-41/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ~~большой~~ PR по переключению дефолтной версии CUDA с cuDNN в Аркадии Обновляем CUDA: 10.1 -> 11.4 Обновляем cuDNN: 7.6.5 -> 8.0.5 Помимо простого обновления версий, данный PR содержит следующее: * От перехода на CUDA 11.4 честно сломался только [один проект](https://a.yandex-team.ru/arcadia/cv/imgclassifiers/danet/backend/gpu_cuda?rev=rXXXXXX), поэтому просто там правим * Где-то поменялись тесты на объём потребляемой памяти, поэтому их просто переканонизируем * По поводу удаления таргетов из clang_prev_targets: - `ld.lld` из поставки clang14 не справляется с линковкой - не может найти символы в попруненных либах, хотя они там есть - но можно просто переключиться на автосборку, потому что те проблемы [совместимости cuDNN и clang](https://st.yandex-team.ru/#655b977f30316b33e3a5ec87), для которых gpu-шные таргеты добавляли в clang_prev_targets, в автосборке уже не существуют * По поводу удаления таргетов из cuda11_targets - теперь cuda11_targets отличается от автосборки версией TensorRT (5 в автосборке vs 7 в cuda11) и режимом сборки (relwithdebinfo в автосборке vs release в cuda11), но есть два момента - те, таргеты, которые я удаляю, не зависят от TensorRT, поэтому их не имеет смысла их тестить и в автосборке, и в cuda11 (про таргет `ads/quality/sis/tests/cuda11_arch80` мне сейчас ничего не известно; если что - выпилим его отдельным таргетом) - на самом деле дублирование даже вредно - в `dict/mt/daemon/tests/gpu` есть тест на потребление памяти gpu, который имеет разные результаты в зависимости от release vs relwithdebinfo, поэтому для этого таргета мы в принципе не можем собираться одновременно и в автосборке, и в cuda11 По поводу дефолтной автосборки в принципе пришлось сделать четыре приседания: * пишем кастомный скрипт для линкера: - идея скрипта: переставляем большую секцию с gpu-шным кодом (`.nv_fatbin`) после `.bss` (самая дальняя секция, куда можно ожидать ссылки из кода бинаря), чтобы было меньше шансов нарваться на проблемы с relocation overflow в (`.bss`) - замечание: в самом скрипте используем в нём только `INSERT AFTER`, чтобы [ld.ldd и дальше применял свои дефолтные правила для остальной программы](https://releases.llvm.org/16.0.0/tools/lld/docs/ELF/linker_script.html#sections-command) - сделал замеры перфа генезисного инференса через `ml/zeliboba/libs/ynmt_lm/translate/bin` на том сценарии, который оказался под рукой - не заметил каких-то изменений * добавляем nvcc-флаг `-Xfatbin=-compress-all`, чтобы наш fatbin сжимался и занимал меньше пространства в бинаре (далее он будет разжиматься на старте программы, так что оверхеда быть не должно) - сделал замеры перфа генезисного инференса через `ml/zeliboba/libs/ynmt_lm/translate/bin` на том сценарии, который оказался под рукой - не заметил каких-то изменений * добавляем флаг линкера `--no-relax`, так как опция "relaxation of relocatable symbols" (когда мы load в регистр + jump по адресу в регистре заменяем на относительный jump) уменьшает допустимый диапазон оффсетов, которые мы можем кодировать, что также приводит к relocation overflow - больше информации можно найти в https://maskray.me/blog/2023-05-14-relocation-overflow-and-code-models - сделал замеры перфа генезисного инференса через `ml/zeliboba/libs/ynmt_lm/translate/bin` на том сценарии, который оказался под рукой - не заметил каких-то изменений * ещё чуть более гранулярно выпиливаем лобзиком архитектуры из либ в поставках CUDA / cuDNN - в категории "ассемблерный код" (`compute_XX`) оставляем только для последней версии поддерживаемой архитектуры (то есть `compute_86`), так как на новых GPU-шках мы будем JIT-компилироваться из него, а на старых GPU-шках мы возьмём готовый машинный код для них Эти идеи были в основном взяты из следующих источников: - https://maskray.me/blog/2021-07-04-sections-and-overwrite-sections#insert-before-and-insert-after и https://discourse.llvm.org/t/lld-relocation-overflows-and-nv-fatbin/58889 (про перемещение `.nv_fatbin`) - https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#nvprune (про `nvprune`) - https://maskray.me/blog/2023-05-14-relocation-overflow-and-code-models#relocation-overflow (`-Wl,--no-relax`) - https://discourse.llvm.org/t/lld-relocation-overflows-and-nv-fatbin/58889/6 + https://github.com/pytorch/pytorch/pull/43074/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR360 (про `-Xfatbin=-compress-all`) Дополнительные комментарии: - можно дополнительно не выпиливать ненужные архитектуры, но этот флаг дополнительно уменьшает размеры бинарей (например, таргет `ml/zeliboba/libs/ynmt_lm/translate/bin`уменьшается на 120 MiB, что составляет примерно 5% от размера бинаря) - кастомный скрипт для линкера позволяет не развлекаться с ещё более гранулярным выпиливанием архитектур (например, для таргетов `TENSORFLOW_WITH_CUDA`) Оставшийся технический долг, который будет делать в других PRах * донести функциональность из `link_exe.py` в `link_dyn_lib.py` * перейти на TensorRT 7 * выпилить cuda11_targets * выпилить флаг `TENSORFLOW_WITH_CUDA` в пользу `CUDA_REQUIRED` и удалить tensorflow_with_cuda_targets (??) * поднять версию стандарта c++ для гпушного кода с 14 до 17
* Add glfw 3.3.9 to contribnikrolaks2024-02-022-0/+9
| | | | | | * Как настроить CI/CD, чтобы он учитывал, что не на всяком Линуксе может собраться? * Эти изменения в build/sysincl... Кажется, для них нужен был бы отдельный pr... * Не знаю как собирать с wayland, там какие-то конфиги надо кодогенерировать, а я не понимаю ЧТО их генерирует
* Update contrib/libs/libidn to 1.42robot-contrib2024-02-0267-1613/+1697
|
* Intermediate changesrobot-piglet2024-02-026-18/+29
|
* TMaybe Monadic operationsnedaiborschd2024-02-022-0/+229
| | | | | Add monadic operations to TMaybe. Added methods: AndThen, OrElse, Transform.
* Intermediate changesrobot-piglet2024-02-028-6/+47
|
* Remove empty resolving for Eigen/Arraythegeorg2024-02-011-1/+0
|
* Remove empty resolving for X11/ includesthegeorg2024-02-011-15/+0
|
* Move macOS-specific sysincls to where they belongthegeorg2024-02-012-17/+16
|
* (no commit message)pg2024-02-012-1/+3
|
* check lifetime bounds of values returned from String's c_str(), data() methodsswarmer2024-02-011-16/+16
|
* Get rid of empty cuda/include resolvingthegeorg2024-02-011-6/+0
|
* Move android sysincls to where they belongthegeorg2024-02-012-6/+3
|
* Fix reimport for contrib/libs/cxxsupp/libcxxrtthegeorg2024-02-012-24/+19
|
* Remove empty glibtop headers resolvingthegeorg2024-02-011-7/+0
|
* Intermediate changesrobot-piglet2024-02-011-0/+5
|