9 个仓库
Libraries for accelerating computation using GPUs and multi-core processors.
Explore 9 awesome GitHub repositories matching part of an awesome list · Parallel and High-Performance Computing. Refine with filters or upvote what's useful.
Dask 是一个并行计算框架和分布式任务调度器,旨在将 Python 数据科学工作流从单机扩展到大型集群。它作为一个集群资源管理器,通过将任务及其依赖项表示为有向无环图来编排计算逻辑。这种架构允许系统在管理复杂执行要求的同时,自动将工作负载分配到可用硬件上。 该项目通过一个延迟评估引擎脱颖而出,该引擎将数据操作推迟到明确请求时才执行,从而实现全局图优化和高效的资源分配。它结合了内存感知数据溢出功能,以防止在处理超过可用内存的数据集时系统崩溃,并利用任务图融合将操作序列组合成单个执行步骤,从而最大限度地减少调度开销和节点间通信。 该平台为大规模数据分析提供了全面的功能面,包括对分布式机器学习、高性能计算集成和并行数据处理的支持。它提供了用于集群生命周期管理、性能分析和任务执行实时监控的广泛工具。用户可以在各种基础设施上部署这些环境,包括本地硬件、云提供商、容器化系统和高性能计算集群。
Parallel computing and task scheduling for Python.
TensorRT 是一个深度学习推理引擎和软件开发工具包,旨在优化和部署神经网络,以在 NVIDIA GPU 上实现高性能执行。它作为一个 GPU 加速框架,在生产部署期间减少延迟并提高训练模型的吞吐量。 该工具包从 Open Neural Network Exchange 格式导入模型,并将它们转换为优化的引擎。它利用基于图的模型优化、层融合内核生成和基于精度的量化,将浮点权重转换为低精度格式。 该框架提供了硬件特定引擎序列化的功能,并支持通过自定义插件扩展推理能力,以用于专门的神经网络层。
High-performance inference library for NVIDIA GPUs.
CuPy 是一个 CUDA 数组计算库,实现了与 NumPy 兼容的接口,用于在 NVIDIA GPU 上执行数组操作和数值计算。它作为一个 GPU 加速数值库和基于 CUDA 的 SciPy 实现,将繁重的计算卸载到图形硬件上,以提高科学和工程工作负载的处理速度。 该库支持多框架张量交换,允许使用标准化的内存布局在不同的深度学习框架之间共享数据缓冲区,从而避免内存拷贝。它还支持自定义 GPU 内核集成,允许将数组数据连接到低级 API,以便精确控制硬件执行。 该项目广泛涵盖了高性能数组处理和科学计算工作流。其功能包括加速数组计算和提供大规模数值计算工具。
CUDA-accelerated library with a NumPy-like API.
Numba 是一个即时(JIT)编译器,可在运行时将高级 Python 函数转换为优化的机器码。通过利用 LLVM 编译器基础设施,它提供了一个加速数值数据处理和数学计算的框架,使性能水平可与静态编译语言相媲美。 该项目通过其基于类型推断的特化能力脱颖而出,它能生成针对执行期间使用的特定数据类型量身定制的机器指令。它采用延迟编译流水线,将转换推迟到调用时刻,从而在保持跨不同处理器架构和操作系统的一致性能的同时,最大限度地减少启动开销。 除了核心编译外,该工具包还通过将迭代操作和数组表达式分布到多个 CPU 核心和图形处理器上,提供了对硬件加速的广泛支持。它利用向量化和并行化策略来最大限度地提高大规模数值数据集的吞吐量,使开发人员能够直接从标准代码中针对专用硬件进行优化。
JIT compiler for high-performance Python code.
Thrust 是一个异构计算库和 C++ 模板库,提供了一系列用于执行数据并行操作的高级模板。它作为一个并行算法库,旨在跨不同的硬件后端工作,包括多核 CPU 和 NVIDIA GPU 硬件。 该框架利用仅头文件(header-only)的实现和通用编程策略接口,抽象了 CPU 和 GPU 内存与执行模型之间的差异。它采用基于迭代器的数据抽象,为访问主机 RAM 和设备 VRAM 中的元素提供了统一的接口。 该库涵盖了并行处理能力,包括并行数据排序和用于计算跨大数据集值的聚合归约处理。这些操作通过 CUDA 并行编程库进行管理,以实现 GPU 硬件上的高性能计算。
C++ parallel programming library for heterogeneous systems.
ArrayFire 是一个硬件无关的计算框架和 JIT 编译张量引擎,专为高性能数值计算而设计。它作为一个 GPU 数值计算库和并行信号处理工具包,抽象了硬件后端,允许同一代码库在各种 GPU 架构和 CPU 上执行。 该项目以其使用表达式编译来融合操作并最小化内存开销的 JIT 引擎而脱颖而出。它采用延迟执行图来优化计算链,并提供互操作性原语以与 CUDA 和 OpenCL 等外部计算平台共享数据和执行上下文。 该库涵盖了广泛的功能,包括并行线性代数、数字信号处理和加速计算机视觉。它提供了用于机器学习实现、金融建模模拟以及求解物理系统模拟偏微分方程的工具。其张量管理系统处理多维数组分配、切片和主机-设备数据传输。
General-purpose GPU computing library.
ZYNQ 的 Python 生产力工具
Embedded system design framework for Zynq SoCs.
已归档 整个系统的 C++ 标准库。请参阅 https://github.com/NVIDIA/cccl
Heterogeneous C++ standard library for CPU and GPU.
VexCL 是一个用于 OpenCL/CUDA/OpenMP 的 C++ 向量表达式模板库
C++ vector expression library for OpenCL and CUDA.