Попередні відповіді, хоча і правильні, не вірні для більшості масштабних комп'ютерних кластерів.
Комп'ютерні кластери не завжди дотримуються стандартних умов для машин, як правило, з поважних причин, і немає сенсу обговорювати це з систематинами.
Ваш поточний каталог посилається на центральну файлову систему, до якої можна отримати доступ через мережу. Це не тільки повільно, але також навантажує систему для решти користувачів, тому не слід користуватися нею, якщо ви не пишете багато і не зможете відновитись, якщо робота завершиться.
У обчислювальних вузлах є власний жорсткий диск, тобто найшвидша наявна файлова система та те, що ви повинні використовувати. Документація кластера повинна говорити про те, що це, як правило /scratch
, /tmp/[jobid]
або якась нестандартна змінна середовище ( $SNIC_TMP
в одній із тих, які я використовую).
Отже, те, що я рекомендую, - це зробити його налаштованим користувачем. Значення за замовчуванням можуть бути першими, до яких ви маєте доступ до запису:
Але очікуйте, що при такому підході низький показник успіху, і переконайтеся, що ви маєте велике попередження про жир.
Редагувати: я додам ще одну причину змусити його встановити користувача. Один з моїх кластерів $TMPDIR
встановив /scratch
, що це доступний для запису користувачем та на локальному жорсткому диску. Але в документації сказано, що все, що ви пишете поза, /scratch/[jobid]
може бути видалено в будь-якій точці, навіть у середині пробігу. Отже, якщо ви будете дотримуватися стандартів і довіряти $TMPDIR
, ви зіткнетеся з випадковими збоями, дуже важкими для налагодження. Отже, ви можете прийняти $TMPDIR
, але не довіряти цьому.
У деяких інших кластерах ця змінна правильно налаштована, тому ви можете додати опцію, щоб явно довіряти $TMPDIR
, інакше надсилати велике, жирне попередження.