Нужен новый GLIBC на Centos 6 для использования PyTorch на графических процессорах

Я использую суперкомпьютер, на котором работает Centos 6. Узел, который я хочу использовать, имеет 3 Tesla V100. Проблема в том, что версия GLIBC, установленная на этом узле, несовместима с последними версиями PyTorch, которые я должен использовать .

У меня нет root. Следовательно, мне нужен способ использовать другой GLIBC на уровне пользователя. Я могу разговаривать с системными администраторами и делать что-то из root (например, использовать Docker или что-то в этом роде), но я не могу переустановить ОС или GLIBC глобально. Я пытался установить GLIBC самостоятельно без рута, но не смог; это не работает. Это занимает слишком много времени, и невозможно найти руководство, чтобы сделать это правильно.

У меня есть несколько идей, например, попытка запустить Контейнер, который может получить доступ к узлу и использовать другую ОС; когда мое запланированное время вычислений закончится, я могу покинуть узел таким же, каким я его получил; для следующего пользователя суперкомпьютера.

Я тоже думал о chroot; Загрузите ISO-образ Centos 8 и выполните chroot в него, но я не знаю, будет ли он использовать GLIBC, используемый ОС хоста, или Centos 8 GLIBC.

Что вы мне посоветуете делать? Как вы думаете, Docker подойдет моим потребностям? Или другое решение для контейнеризации? Продолжать попытки установить другой GLIBC?

0
задан 1 April 2021 в 18:39
1 ответ

Я пытался установить GLIBC самостоятельно без root, но не смог сделать это правильно. но не смог сделать это правильно; ничего не получилось. Это занимает слишком много времени, и я не могу найти учебник, чтобы сделать это правильно.

Слишком сложно установить другую libc параллельно с существующей. Я бы не стал пробовать, особенно на общей системе.

Контейнеры - это chroots, но лучше, с большей изоляцией. Используйте контейнеры вместо chroots, так вы сможете воспользоваться преимуществами инструментария и уже существующих образов.

Однако существуют требования к ядру для хоста контейнера (или виртуальной машины). Вам понадобится драйвер ядра Linux от nvidia. Последние дистрибутивы поддерживаются, например EL 7 и EL8 через DKMS.

Да, возможно использовать GPU из контейнера. Смотрите Как включить NVIDIA GPU в контейнерах на пустом металле в RHEL 8 и сценарии оболочки, извлеченные из него. Здесь показано, как установить kmod-nvidia-latest-dkms и nvidia-container-toolkit, плюс некоторые политики SELinux для обеспечения изоляции контейнеров.

Я не думаю, что вам удастся избежать обновления ОС хоста. CentOS 6 закончилась и больше не получает обновлений безопасности. Драйверы ядра, которые вам нужны для этого GPU, поддерживаются только в более поздних ОС. Любимый инструментарий Red Hat для контейнеров, podman, podman, также не существует на старых ОС.

1
ответ дан 24 April 2021 в 01:41

Теги

Похожие вопросы