Workflow quick reference
Регистрация и подготовка аккаунта
- Зарегистрироваться на BINP/GCF кластере, для этого необходимо обратиться к Андрею Сухареву или Дмитрию Максимову
- Зайти на
stark.inp.nsk.su
(доступно только внутри института) илиproxima.inp.nsk.su
(доступно из любого места)
Эти машины близки по конфигурации и имеют общий /home
Для взаимодействия с git
-сервером используется протокол ssh
с авторизацией по ключам.
- Если ранее не был создан, то создать
ssh
ключ командой
ssh-keygen
согласиться со всеми предлагаемыми по умолчанию ответами на вопросы, ключ можно создавать без пароля.
В результате в поддиректории ~/.ssh/
будут созданы два файла id_rsa
и id_rsa.pub
Полные пути к создаваемым файлам будут отображены на экране.
- Зайти на сервер
gitlab
https://git.inp.nsk.su/ (логин и пароль теже, что и для входа наstark
/proxima
) - Зарегистрировать публичную часть этого ключа в своём аккаунте, т.е. поместить содержимое файла ~/.ssh/id_rsa.pub в форму по ссылке ниже
https://git.inp.nsk.su/profile/keys
1. Открыть центральный репозиторий https://git.inp.nsk.su/sctau/aurora
и сделать форк к себе.
2. Настройка рабочей среды.
создадим рабочую директорию
mkdir workarea cd workarea
Директории для сборки и запуска
mkdir build run
Настройка самой базовой среды,
данную команду необходимо выполнять каждый раз при входе
setupSCTAU
Выберем релиз и его версию, в которой будем работать. Для работы, требующей стабильности окружения, например, физического анализа, нужно использовать этот вариант
asetup SСTauSim,0.1.0
Для работ по разработке программных компонент этот
asetup SCTauSim,master,latest
Для простого запуска готовых примеров этих шагов достаточно. Далее:
cd run
Запуск первичных генераторов моделирования:
ctaurun GenExamples/evtgen.py
Запуск полного моделирования:
Перед запуском полного моделирования в текущей директории надо положить файл taumugamma.root, с входными данными - частицы из первичного генератора
Этот файл можно взять, например, у Виталия: /home/vvorob/public/tuples/fccedm/taumugamma.root
ctaurun G4SimExamples/fullsim_example.py
3. Для разработки нового или модификации существующего кода нужны следующие
действия:
Возвращаемся в workarea.
Подготовка рабочей директории (делается один раз):
git sctau init-workdir ssh://git@git.inp.nsk.su/sctau/aurora.git cd aurora
Получение обновлений с головного репозитория нужно делать периодически при длительном существовании рабочей директории и существенных изменениях в головном
git fetch upstream
Подготовка рабочей тематической ветки, эта ветка будет видна другим людям, поэтому название стоит выбирать говорящим и осмысленным
git checkout -b MyDevelopmentBranch upstream/0.1 --no-track
Если хотим модифицировать существующий пакет, то
Добавим пакеты из репозитория
git sctau addpkg GenExamples
и/или
git sctau addpkg G4SimExamples
Если создаётся новый пакет, то надо создать всю структуру директорий, где он должен лежать, написать CMakeLists.txt и всё остальное, что нужно для нового пакета.
Сборка
cd ../build/ cmake ../aurora/Projects/WorkDir make
Настройка локального окружения
эта строчка принципиально важна, чтобы использовались локально собранные пакеты вместо тех, что в релизе:
source x86_64-slc7-gcc7-opt/setup.sh
Запуск
cd ../run ctaurun GenExamples/evtgen.py ctaurun G4SimExamples/fullsim_example.py