程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

人工智能
后台-插件-广告管理-内容页头部广告(手机)

CUDA

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

CUDA

由英伟达 NVIDIA 为通用计算开发的CUDA代表计算统一设备架构。该软件层提供对 GPU 虚拟指令集和并行计算元素的直接访问,以执行计算内核。

CUDA是由英伟达公司(NVIDIA)设计可在 GPU 上进行通用计算的框架。通用计算是使用 GPU 来协助执行 CPU 处理的任务。它允许信息双向流动——CPU 到 GPU,反之亦然,从而提高各种任务的效率,尤其是图像和视频。

CUDA 可以使用 C、C++ 和 Fortran 等编程语言。它在各个领域都有应用,包括生命科学、生物信息学、计算机视觉、电动力学、计算化学、医学成像、金融等。

OpenAI Triton

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

Triton

OpenAI 是由马斯克人工智能非营利组织。上个星期OpenAI发布了Triton 1.0,Triton是一种类似 Python 开源编程语言,OpenAI团队宣传Triton具有两大好处。首先是,Triton可以加速AI项目,为开发人员减少优化代码的时间。另一大好处,Triton相对简单,连没有丰富CUDA编程经验的程序员都能够创建比其他方法更高效的算法。

OpenAI 的开发人员菲利普·泰勒特(Philippe Tillet)表示,其目标是成为 CUDA深度学习的可行替代方案。

OpenCL

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

OpenCL

开放计算语言 ( OpenCL ) 是一种开放标准,用于编写跨异构平台运行的代码,包括 CPU、GPU、数字信号处理器 (DSP)、现场可编程门阵列 (FPGA) 和其他处理器或硬件加速器。例如,在计算机视觉中,通过OpenCL可加速运算效率,尤其是在图像处理、计算摄影、物体检测、矩阵运算等方面更是如此。

OpenPAI

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

OpenPAI

OpenPAI 由微软开发,提供完整的“AI 模型”培训和资源管理功能。开源平台支持本地、云和混合环境。

OpenACC

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

OpenACC

OpenACC是一种用户驱动的基于指令的并行编程模型。专为为代码移植和异构“HPC”硬件平台而设计,其编程工作量比使用底层模型所需的工作量要少得多。它支持 C、C++、Fortran 编程语言和多种硬件架构,包括 X86 & POWER CPU 和 NVIDIA GPU。

虽然 OpenACC 提供了指令来在 GPU 上执行并行代码,但只对某些高级抽象有效,通常不适用于并行化或数据移动。

PyCUDA

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

PyCUDA是使用 Pythonic 访问 CUDA 的并行计算 API。并协助管理对象的生命周期,依靠相关依赖分配和释放内存。SourceModule和GPUArray等抽象使 PyCUDA 比 CUDA 编程更加方便。

PyCUDA 确保 CUDA 错误可自动转换为 Python 异常。

CatBoost

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

由俄罗斯公司 Yandex 开发的CatBoost是一种用于决策树梯度提升的算法。可用于搜索、推荐系统、个人助理、天气预报、自动驾驶汽车等。此外,它还支持在 CPU 和 GPU 上进行计算。

在许多数据集上,与GBDT 库相比,CatBoost 具有更高的质量;具有一流的预测速度;支持数值和分类特征;开箱即用的快速 GPU 和多 GPU 支持训练,并包括可视化工具。

TF Quant Finance

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

TF Quant Finance提供高性能组件,利用 TensorFlow 的硬件加速支持和自动区分。

该库包括基础数学方法(优化、插值、求根、线性代数等)、中级方法(ODE 和 PDE 求解器、Ito 过程框架、扩散路径生成器等)和特定模型(局部波动率 (LV)、随机波动率 (SV)、随机局部波动率 (SLV)、Hull-White (HW))。

Nyuzi

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

Nyuzi 处理器是一个实验性的通用计算处理器硬件设计,专注于计算密集型任务。它针对深度学习和图像处理等用例进行了优化。包括用 System Verilog 编写的可综合硬件设计、指令集仿真器、基于 LLVM 的 C/C++ 编译器、软件库和测试。它还用于试验微体系结构和指令集设计的权衡。可以在GitHub 上找到有关 Nyuzi 处理器的更多详细信息。

Emu

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架

Emu 是Rust语言的通用计算库,专注于可移植、模块化和性能。它可以在任何地方运行,因为它使用 WebGPU 来支持 DirectX、Metal、Vulkan(最终还有 OpenGL 和浏览器)作为编译目标。它让 Emu 几乎可以在任何用户界面上运行,包括桌面、移动设备和浏览器。此外,通过将繁重的计算转移到用户的设备上,用户可以减少系统延迟并改善隐私。

Emu 让 WebGPU 感觉像CUDA。它是一个完全透明的抽象。此外,它是完全异步的。

程序员应该知道的——11 款用于人工智能/机器学习/通用计算 的框架
后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。