搜索

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

11.40 MB 32 页 10 下载 276 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
中文(简体)
.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 #include int main() { glm::vec3 v(1, 2, 3); v += 1; std::cout << v.x << " " << v.y << " " << v.z << std::endl; return 0; } ``` ### 总结 - 课程内容全面,涵盖现代 C++ 和高性能并行编程的核心知识点。 - CMake 是课程中重要的工具,用于跨平台构建和依赖管理。 - 第三方库的引入和配置是实际开发中常用的操作。 - 通过案例学习,能够更好地理解理论知识的实际应用。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 25 页请下载阅读 -
文档评分
请文明评论,理性发言.