kokkos/kokkos

GitHub: kokkos/kokkos

Kokkos 提供跨后端的高性能并行执行与内存抽象编程模型,解决代码可移植与性能优化的矛盾。

Stars: 2510 | Forks: 493

[![Kokkos](https://avatars2.githubusercontent.com/u/10199860?s=200&v=4)](https://kokkos.org) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9344/badge)](https://www.bestpractices.dev/projects/9344) # Kokkos: 核心库 Kokkos Core 实现了 C++ 编程模型,用于编写性能可移植的 应用程序,旨在支持所有主流 HPC 平台。为此它提供了 代码并行执行和数据管理的抽象。 Kokkos 被设计用于针对具有 N 级内存 层次结构和多种执行资源类型的复杂节点架构。它目前可以使用 CUDA、HIP、SYCL、HPX、OpenMP 和 C++ 线程作为后端编程模型,并正在开发其他 后端。 **Kokkos Core 是 [Kokkos C++ Performance Portability Programming Ecosystem](https://kokkos.org) 的一部分。** Kokkos 是一个 [Linux Foundation](https://linuxfoundation.org) 项目。 ## 学习 Kokkos 要开始学习 Kokkos: - [Kokkos 讲座](https://kokkos.org/kokkos-core-wiki/tutorials-and-examples/video-lectures.html):包含讲座视频和动手练习,涵盖所有重要功能。 - [编程指南](https://kokkos.org/kokkos-core-wiki/programmingguide.html):以“叙述性”形式描述编程模型、机器模型以及主要构建块,如 Views 和并行调度。 - [API 参考](https://kokkos.org/kokkos-core-wiki/):按类别组织,即 [核心](https://kokkos.org/kokkos-core-wiki/API/core-index.html)、[算法](https://kokkos.org/kokkos-core-wiki/API/algorithms-index.html)、[容器](https://kokkos.org/kokkos-core-wiki/API/containers-index.html) 和 [simd](https://kokkos.org/kokkos-core-wiki/API/simd-index.html)。 - [用例与示例](https://kokkos.org/kokkos-core-wiki/tutorials-and-examples/use-cases-and-examples.html):一系列示例,涵盖从如何使用 Kokkos 与 MPI 到 Fortran 互操作。 ## 获取 Kokkos 最新版本的 Kokkos 可以从 [GitHub 发布页面](https://github.com/kokkos/kokkos/releases/latest) 获取。 当前版本是 [5.1.0](https://github.com/kokkos/kokkos/releases/tag/5.1.0)。 ``` curl -OJ -L https://github.com/kokkos/kokkos/releases/download/5.1.0/kokkos-5.1.0.tar.gz # 使用 wget wget https://github.com/kokkos/kokkos/releases/download/5.1.0/kokkos-5.1.0.tar.gz # 使用 git git clone --depth=2 --branch 5.1.0 https://github.com/kokkos/kokkos.git ``` 要克隆 Kokkos 的最新开发版本: ``` git clone --branch develop https://github.com/kokkos/kokkos.git ``` ### 构建 Kokkos 要构建 Kokkos,您需要拥有支持 C++20 或更高版本的 C++ 编译器。 所有要求(包括最低版本和主要测试版本)可在此处找到 [here](https://kokkos.org/kokkos-core-wiki/get-started/requirements.html)。 构建和安装说明在此处描述 [here](https://kokkos.org/kokkos-core-wiki/get-started/building-from-source.html#configuring-and-building-kokkos)。 您也可以使用 [Spack](https://spack.io/) 安装 Kokkos:`spack install kokkos`。 [可用配置选项](https://packages.spack.io/package.html?name=kokkos) 可通过 `spack info kokkos` 显示。 ## 完整文档请访问:[kokkos.org/kokkos-core-wiki/](https://kokkos.org/kokkos-core-wiki/) ## 支持 如有疑问,请在 Slack 上找到我们:https://kokkosteam.slack.com 或提交 GitHub 问题。 非公开问题请发送邮件至:*crtrott(at)sandia.gov* ## 贡献 请参阅 [this page](https://kokkos.org/kokkos-core-wiki/contributing.html) 了解如何贡献的详细信息。 ## 引用 Kokkos 请参阅 [following page](https://kokkos.org/kokkos-core-wiki/citation.html)。 ## 许可证 [![License](https://img.shields.io/badge/License-Apache--2.0_WITH_LLVM--exception-blue)](https://spdx.org/licenses/LLVM-exception.html) 完整的许可证声明位于所有头文件中,可在此处获取 [here](https://kokkos.org/kokkos-core-wiki/license.html) 或 [here](https://github.com/kokkos/kokkos/blob/develop/LICENSE)。
标签:C++, CUDA, GPU编程, HIP, HPC, HPX, Kokkos, Linux Foundation, OpenMP, SIMD, SYCL, Vectored Exception Handling, 代码移植, 优化, 内存抽象, 可扩展性, 安全工具测试, 容器库, 并行执行, 并行编程, 并行计算, 开源, 异构计算, 性能可移植性, 数值计算, 数据擦除, 数据管理, 科学计算, 算法库, 编程模型, 视图抽象, 高并发, 高性能计算