| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pptx | 3 |
| 摘要 | ||
文档主要介绍了《C++高性能并行编程与优化》课程的内容,包括现代C++入门与进阶、并行编程框架(如OpenMP与Intel TBB)、GPU编程、存储优化、物理仿真实战等内容。课程还涉及CMake的使用,包括环境搭建、静态与动态库管理、第三方库引入及跨平台构建。文档详细说明了CMake的基本命令、项目管理功能以及在实际开发中的应用。 | ||
| AI总结 | ||
## 文档总结:C++ 高性能并行编程与优化课件内容
### 1. 课程概述
- **课程目标**:学习现代 C++ 和高性能并行编程,涵盖从基础到进阶的内容。
- **课程结构**:分为两大部分:
- **前半段**:现代 C++(STL、RAII、模板元编程等)。
- **后半段**:并行编程与优化(多线程、OpenMP、GPU 编程等)。
- **课程安排**:共 13 个章节,涉及 CMake 入门、编译器优化、并行算法实战等。
### 2. 硬件与软件要求
- **硬件要求**:
- 64 位系统。
- 至少 2 核 4 线程。
- 英伟达显卡(GPU 专题)。
- **软件要求**:
- Windows:Visual Studio 2019。
- Linux:GCC 9 及以上。
- CMake 3.12 及以上。
- Git 2.x。
- CUDA Toolkit 10.0 及以上。
### 3. CMake 功能与使用
- **CMake 的作用**:
- 生成构建文件(如 Makefile)。
- 支持跨平台开发。
- 自动检测源文件和头文件的依赖关系。
- **CMake 命令行调用**:
- 生成构建文件:`cmake -B build`。
- 构建项目:`cmake --build build`。
- 执行可执行文件:`build/a.out`。
- **CMakeLists.txt 配置**:
- 示例:通过 `add_subdirectory` 引入子模块。
- 示例:引入第三方库(如 fmt、glm)的方式。
### 4. 第三方库管理
- **常用库**:
- fmtlib:格式化库。
- spdlog:日志库。
- range-v3:C++20 范围库。
- glm:OpenGL 数学库。
- googletest:单元测试框架。
- **库的引入方式**:
- 通过 `include_directories` 或 `target_include_directories` 添加头文件路径。
### 5. 构建系统要点
- **静态库与动态库**:
- 静态库:`add_library(test STATIC source1.cpp source2.cpp)`。
- 动态库:`add_library(test SHARED source1.cpp source2.cpp)`。
- 建议初学者使用静态库。
- **链接库的方式**:
- `target_link_libraries(myexec PUBLIC test)`。
### 6. 实际案例:glm 库的使用
- **CMakeLists.txt 配置**:
```cmake
cmake_minimum_required(VERSION 3.12)
project(hellocmake LANGUAGES CXX)
add_executable(a.out main.cpp)
target_include_directories(a.out PUBLIC glm/include)
```
- **代码示例**:
```cpp
#include | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
25 页请下载阅读 -
文档评分














C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起