Что именно делает загрузка модуля? Это в основном то, что вместо того, чтобы просматривать каталог ее
, я видел, как люди делают module load gcc/versionNumber
и т. Д.
Я предполагаю, что вы входите в некоторые университетские вычислительные кластеры. В Стэнфорде у нас есть система, которая использует команду модуля для загрузки различных программ, как вы описываете.
По сути, команда модуля изменяет вашу среду так, чтобы путь и другие переменные были установлены так, чтобы вы могли использовать такие программы, как gcc, matlab или mathematica. Чтобы увидеть некоторые из изменений, запустите env
, чтобы увидеть переменные среды, затем запустите module load matlab
или какой-либо другой доступный пакет, а затем снова запустите env
, чтобы увидеть обновленные переменные.
Я не уверен в деталях, но вы можете попробовать
module help
или посетить http://www.tacc.utexas.edu/tacc-projects/lmod для получения дополнительной информации
Ужасно в общем именованный проект, который обеспечивает module load
, является находящимся в Tcl "проектом" Модулей Среды: http://modules.sourceforge.net/
, Что проект в основном существует, чтобы позволить пользователям в кластерных системах устанавливать программное обеспечение без sudo.
Это полезно в кластерных системах, которые полагаются на не разрешение пользователям иметь sudo для управления их использованием ресурсов.
Дело обстоит так, например, https://en.wikipedia.org/wiki/Platform_LSF, который полагается на Linux' sched_setaffinity
для управления использованием ЦП: https://stackoverflow.com/questions/1006289/how-to-find-out-the-number-of-cpus-using-python/55423170#55423170
А более современная альтернатива таким кластерным системам является контейнерами, такими как Докер, которые позволяют пользователям иметь sudo в своих собственных изолированных виртуальных машинах.
должны быть компромиссы производительности, которые я не понимаю между теми двумя типами установки как бы то ни было.