ARM (Linux)
Julia полностью поддерживает процессоры ARMv8 (AArch64) и с некоторыми оговорками поддерживает ARMv7 и ARMv6 (AArch32). Здесь приводятся общие рекомендации по компиляции, а также инструкции для конкретных устройств.
Доступен список известных проблем для ARM. Если у вас возникнут трудности, создайте заявку и приведите вывод из файла cat /proc/cpuinfo
.
32-разрядные (ARMv6, ARMv7)
Julia успешно компилируется на нескольких вариантах следующих устройств ARMv6 и ARMv7:
-
ARMv7 / Cortex A15 Samsung Chromebooks под управлением Ubuntu Linux с Crouton;
Для Julia требуются как минимум наборы инструкций armv6
и vfpv2
. Рекомендуется использовать armv7-a
. armv5
или настройки для программной работы с плавающей запятой не поддерживаются.
Raspberry Pi 1 / Raspberry Pi Zero
Если тип процессора ARM, используемого в Raspberry Pi, не определяется LLVM, необходимо явным образом задать целевую загрузку ЦП, добавив следующее в Make.user
:
JULIA_CPU_TARGET=arm1176jzf-s
Для завершения сборки может потребоваться увеличить размер файла подкачки. Для этого отредактируйте файл /etc/dphys-swapfile
, изменив строку:
CONF_SWAPSIZE=100
на:
CONF_SWAPSIZE=512
перед перезапуском службы файла подкачки:
sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start
Raspberry Pi 2
Тип процессора ARM, используемого в Raspberry Pi 2, не определяется LLVM. Явным образом задайте целевую загрузку ЦП, добавив следующее в Make.user
:
JULIA_CPU_TARGET=cortex-a7
В зависимости от конкретного компилятора и дистрибутива может произойти сбой сборки из-за неподдерживаемой встроенной сборки. В этом случае добавьте MCPU=armv7-a
в Make.user
.
AArch64 (ARMv8)
Сборка Julia успешно выполняется на следующих устройствах ARMv8:
Для компиляции на устройстве ARMv8-A
требуется настроить Make.user
следующим образом:
MCPU=armv8-a
nVidia Jetson TX2
Julia собирается и работает на платформе nVidia Jetson TX2 с минимальными изменениями конфигурации.
После настройки Make.user
в соответствии с инструкциями AArch64
в этом документе следуйте общим инструкциям по сборке. Большинство зависимостей сборки, указанных в инструкциях, устанавливаются конфигурацией по умолчанию, прошитой с помощью Jetpack 3.0. Остальные инструменты можно установить, выполнив следующую команду:
sudo apt-get install gfortran wget cmake
Полная параллельная сборка, включая LLVM, завершится примерно за два часа. Все тесты пройдены, а функциональность CUDA доступна, например, через CUDAdrv.