Скомпилируйте C на одной машине и используйте его в кластере

#c #compilation #cluster-computing

#c #Сборник #кластерные вычисления

Вопрос:

Я новичок в C, и мне впервые приходится запускать программу на кластере, и у меня возник (смущающий) вопрос.

Вопрос в том, могу ли я скомпилировать свой код C на своей машине и использовать его позже в кластере?

Обе ОС основаны на Linux. Мой компьютер оснащен i5 (Kaby Lake), а кластер оснащен процессорами Intel Skylake.

Я попытался погуглить вопрос, но получил неудовлетворительные ответы

Комментарии:

1. Вы должны создать кластерную версию, например, с «openmp». Но с большинством фреймворков с несколькими процессорами вы также можете запустить его локально в целях тестирования.

2. Код был разработан с использованием OpenMPI и протестирован, но теперь я должен провести некоторый тест масштабирования на большем количестве ядер

3. Да, вы можете скомпилировать его локально и запустить в кластере, если используется тот же ISA (что и в данном случае). OpenMPI хорошо документирован. Возможно, это может вам помочь: open-mpi.org/faq/?category=running

4. Вам нужно быть осторожным при использовании таких оптимизаций, как -march=native которые могут существенно повлиять на производительность, но могут помешать запуску кода, скомпилированного на вашем ПК, или достижению наилучшей производительности в вашем кластере.

5. Вероятно, вы можете, но я не знаю, зачем вам это нужно. Если ваш код не невероятно огромен, вероятно, будет так же просто перекомпилировать его в кластере, прежде чем запускать его там. Это также позволит избежать возможных проблем, таких как разные версии разделяемой библиотеки.