AnyMath 文档

ARM(Linux)

Julia完全支持ARMv8(AArch64)处理器,并支持ARMv7和ARMv6(Aarch32)有一些警告。 除了特定设备的说明外,此文件还提供了编译的一般指南。

的列表https://github.com/JuliaLang/julia/labels/arm ARM的[已知问题]是可用的。 如果您遇到困难,请创建一个问题,包括从 猫/proc/cpuinfo.

32位(ARMv6,ARMv7)

Julia已在以下ARMv6和ARMv7设备的几个变体上成功编译:

*Armv7/Cortex A15三星Chromebook在Crouton下运行Ubuntu Linux; *树莓派。 *Odroid

朱莉娅至少需要 armv6vfpv2 指令集。 建议使用 armv7-a. armv5 或软浮动不支持。

树莓派1/树莓派零

如果LLVM未检测到Raspberry Pi中使用的ARM CPU类型,则通过将以下内容添加到 做吧。用户:

JULIA_CPU_TARGET=arm1176jzf-s

要完成构建,您可能需要增加交换文件大小。 为此,请编辑 /etc/dphys-交换文件,换线:

CONF_SWAPSIZE=100

到:

CONF_SWAPSIZE=512

重新启动swapfile服务之前:

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

树莓Pi2

LLVM未检测到Raspberry Pi2中使用的ARM CPU类型。 通过将以下内容添加到显式设置CPU目标 做吧。用户: JULIA_CPU_TARGET=cortex-a7

根据确切的编译器和分发,可能会由于不支持的内联程序集而导致生成失败。 在这种情况下,添加 MCPU=armv7-a做吧。用户.

AArch64(ARMv8)

预计Julia将在ARMv8cpu上工作和构建。 应该跟随将军https://github.com/JuliaLang/julia/blob/master/README.md[构建说明]。 Julia预计会有大约8gb的ram或swap来构建自己。

已知问题

从Julia v1.10开始,https://llvm.org/docs/JITLink.html当链接到LLVM15或更高版本时,此体系结构会自动为所有操作系统启用[JITLink]。 由于一https://github.com/llvm/llvm-project/issues/63236[LLVM内存管理器中的错误],非平凡的工作负载可能会生成太多的内存映射,在Linux上可以超过内存映射的限制(mmap,mmap)在文件中设置 /proc/sys/vm/max_map_count,导致像这样的错误

JIT session error: Cannot allocate memory

如果发生这种情况,请要求系统管理员增加内存映射的限制,例如使用以下命令

sysctl -w vm.max_map_count=262144