并行计算
Julia支持以下四类并行编程:
-
异步"任务"或协程。
-
多线程。
多线程可以安排跨多个线程或具有共享内存的CPU内核同时执行任务。 这通常是在您自己的计算机或单个大型多核服务器上确保并行性的最简单方法。 Julia中的多线程是复合的。 当一个多线程函数调用另一个时,Julia全局调度所有线程的执行,考虑到可用资源而不超过它们。
-
分布式计算。
分布式计算提供了具有独立内存空间的多个Julia进程的执行。 进程可以在一台计算机上运行,也可以在多台计算机上运行。 标准图书馆 `Distributed'允许远程执行Julia函数。 基于这个标准块,您可以构建分布式计算的许多不同抽象。 这种抽象的一个例子是包https://github.com/JuliaParallel/DistributedArrays.jl ['DistributedArrays.jl']。 反过来,包如https://github.com/JuliaParallel/MPI.jl ['MPI。jl']和https://github.com/JuliaParallel/Elemental.jl ['小学。jl'],提供对MPI库的现有生态系统的访问。
-
GPU计算:
GPU Julia编译器可以将Julia代码作为机器代码在GPU上执行。 有一个为GPUs设计的完善的Julia软件包生态系统. 在网站上https://juliagpu.org [脧锚脧赂JuliaGPU.org ]提供GPU支持的功能列表、相关软件包和文档。