AnyMath 文档

并行计算

Julia支持这四类并发编程和并行编程:

  1. *异步"任务",或协程*: Julia任务允许挂起和恢复I/O、事件处理、生产者-消费者进程和类似模式的计算。 任务可以通过以下操作进行同步 等等!取货/取货,并通过 频道`S.虽然Julia本身并不是并行计算,但它允许你安排时间 xref:base/parallel.adoc#Core.Task[`任务s在几个线程上。

  2. *多线程*: 朱莉娅的 多线程提供在多个线程或CPU核心上同时调度任务的能力,共享内存。 这通常是在PC或单个大型多核服务器上获得并行性的最简单方法。 Julia的多线程是可组合的。 当一个多线程函数调用另一个多线程函数时,Julia将在可用资源上全局调度所有线程,而不会过度订阅。

  3. *分布式计算*: 分布式计算运行多个具有独立内存空间的Julia进程。 这些可以在同一台计算机上,也可以在多台计算机上。 该 分发的标准库提供了远程执行Julia函数的功能。 有了这个基本的构建块,就可以构建许多不同类型的分布式计算抽象。 包装如https://github.com/JuliaParallel/DistributedArrays.jl[脧锚脧赂`分发的。jl`]是这种抽象的一个例子。 另一方面,像https://github.com/JuliaParallel/MPI.jl[脧锚脧赂`MPI。jl`]和https://github.com/JuliaParallel/Elemental.jl[脧锚脧赂`元素。jl`]提供对图书馆现有MPI生态系统的访问。

  4. *GPU计算*: Julia GPU编译器提供了在Gpu上本地运行Julia代码的能力。 有一个以GPUs为目标的Julia软件包的丰富生态系统. 该https://juliagpu.org[脧锚脧赂JuliaGPU.org]网站提供了功能列表,支持的Gpu,相关软件包和文档。