-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update on 2025-02-05 from anna-lixin
- Loading branch information
Showing
6 changed files
with
107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
aliases: DPC++ DPCPP | ||
created: 20250205124948527 | ||
creator: miRoox | ||
modified: 20250205125404382 | ||
modifier: miRoox | ||
tags: TODO C++ | ||
title: Data Parallel C++ | ||
tmap.id: 6d973662-3244-478e-b989-2cb048377198 | ||
type: text/vnd.tiddlywiki | ||
|
||
''Data Parallel C++''(DPC++)是基于标准[[C++]]的扩展,它设计用于数据并行编程和异构计算。DPC++ 使开发者可以使用 C++ 语法来编写并行代码,并且无缝地支持多种硬件加速器(如 CPU、GPU 和 FPGA)。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
aliases: oneAPI | ||
created: 20250205123736662 | ||
creator: miRoox | ||
modified: 20250205125614654 | ||
modifier: miRoox | ||
tags: 程序框架 TODO | ||
title: Intel oneAPI | ||
tmap.id: 89dd0359-0d83-4507-91c9-6a2d160285c5 | ||
type: text/vnd.tiddlywiki | ||
|
||
oneAPI 是由英特尔推出的一种开放标准,旨在为不同计算加速器(如 GPU、AI 加速器和 FPGA)提供统一的[[应用程序接口]](API)。其主要目标是消除开发者在不同硬件架构上维护多个代码库和工作流程的需求。 | ||
|
||
!! 主要特性 | ||
|
||
# ''跨架构编程'': oneAPI 支持多种硬件架构,允许开发者在同一代码基础上为不同的处理器工作。 | ||
# [[Data Parallel C++]] (DPC++): DPC++ 是一种基于 [[C++]] 的语言实现,结合了 ISO C++ 和 Khronos Group 的 [[SYCL|Khronos SYCL]] 标准,能够实现数据并行编程。 | ||
# 丰富的库支持: oneAPI 提供包括[[线性代数]]、[[深度学习]]和[[视频处理]]等多个领域的库,这些库可以帮助开发者更快速地实现各种功能。例如: | ||
#* oneAPI 数学内核库(oneMKL) | ||
#* oneAPI 数据分析库(oneDAL) | ||
#* oneAPI 深度神经网络库(oneDNN) | ||
# 低级硬件接口: oneAPI 包含 Level Zero API,定义了硬件加速器与编译运行时和开发工具之间的低级直接接口。 | ||
# [[跨平台]]: oneAPI 是跨平台的,支持在多个[[操作系统]]上进行开发,包括 [[Windows|Microsoft Windows]]、[[Linux]] 和 macOS。 | ||
|
||
!! 相关链接 | ||
|
||
* [[oneAPI官网|https://oneapi.io/]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
aliases: SYCL | ||
created: 20250205124437455 | ||
creator: miRoox | ||
modified: 20250205125816077 | ||
modifier: miRoox | ||
tags: TODO | ||
title: Khronos SYCL | ||
tmap.id: b6e62156-ab3c-4790-a74d-d1397a19902c | ||
type: text/vnd.tiddlywiki | ||
|
||
''SYCL''是由Khronos Group开发的开放行业标准,旨在为异构计算系统提供编程模型的抽象。它允许开发者使用标准[[C++]]代码编写应用程序,同时支持通过单一源代码方式将主机和设备代码结合在一起。 | ||
|
||
SYCL的主要特点包括: | ||
|
||
# 异构计算支持:SYCL支持多种硬件设备,包括CPU、GPU、FPGA等,开发者可以在跨平台的环境中编程。 | ||
# 单一源代码:开发者可以在一个源代码文件中编写主机和设备的代码,这是SYCL的重要优势之一。这样可以简化开发流程。 | ||
# 与现有C++标准兼容:SYCL基于C++标准,允许开发者使用已知的C++特性和库。 | ||
# 简化的API设计:SYCL提供的API设计相对简单,易于使用,提高了开发效率。 | ||
# 良好的可移植性:由于是开放标准,支持不同厂商的硬件设备,程序在不同平台之间的迁移较为容易。 | ||
# 通过SYCL,开发者能够更有效地利用现代计算硬件,提高应用程序的性能和可扩展性。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
created: 20250205101402005 | ||
creator: miRoox | ||
modified: 20250205123109039 | ||
modifier: miRoox | ||
tags: 开发工具 TODO 软件 | ||
title: Ollama | ||
tmap.id: f99dd6e3-b428-4b48-8821-38ac3dc9a2e8 | ||
type: text/vnd.tiddlywiki | ||
|
||
Ollama是一个用于获取和运行[[大语言模型]]的工具。推理主要基于[[llama.cpp]] | ||
|
||
!! 相关链接 | ||
|
||
* [ext[README|https://github.com/ollama/ollama/blob/main/README.md]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
created: 20250205125657610 | ||
creator: miRoox | ||
modified: 20250205125803634 | ||
modifier: miRoox | ||
tags: 代码片段 | ||
title: SYCL设备识别 | ||
tmap.id: 780775c4-26b8-4080-b6ae-23b8287526a5 | ||
type: text/vnd.tiddlywiki | ||
|
||
[[SYCL|Khronos SYCL]]设备识别 | ||
|
||
```cpp | ||
#include <CL/sycl.hpp> | ||
#include <iostream> | ||
|
||
int main() { | ||
auto platforms = sycl::platform::get_platforms(); | ||
for (auto& p : platforms) { | ||
std::cout << "Platform: " << p.get_info<sycl::info::platform::name>() << "\n"; | ||
auto devices = p.get_devices(); | ||
for (auto& d : devices) { | ||
std::cout << " Device: " << d.get_info<sycl::info::device::name>() | ||
<< " (Type: " << static_cast<int>(d.get_info<sycl::info::device::device_type>()) << ")\n"; | ||
} | ||
} | ||
return 0; | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
created: 20250205125508229 | ||
creator: miRoox | ||
modified: 20250205125515554 | ||
modifier: miRoox | ||
tags: 机器学习 TODO | ||
title: 深度学习 | ||
tmap.id: bcb47a79-b6be-4bc2-b5c1-d39ea441096a | ||
type: text/vnd.tiddlywiki |