kokkos/kokkos
GitHub: kokkos/kokkos
Kokkos 提供跨后端的高性能并行执行与内存抽象编程模型,解决代码可移植与性能优化的矛盾。
Stars: 2510 | Forks: 493
[](https://kokkos.org)
[](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)。
## 许可证
[](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, 代码移植, 优化, 内存抽象, 可扩展性, 安全工具测试, 容器库, 并行执行, 并行编程, 并行计算, 开源, 异构计算, 性能可移植性, 数值计算, 数据擦除, 数据管理, 科学计算, 算法库, 编程模型, 视图抽象, 高并发, 高性能计算