Rust与算法 - 谢波1 6 11 15 21 • 背景介绍 • 算法相关知识 • Rust 实现数据结构 • Rust 实现算法 • 总结及学习资源 背景介绍 • 个人信息 • 写作动机 • 可参考点 • 为什么 背景介绍 # 个人职业 # 与 Rust 结缘 # 前 GPT 时代作品 个人信息 结算及大数据系统研发工程师 疫情下的明智选择 / 个人项目实践 学习中总结探索 2015 他 的留给时间检验。不懂就学,技术写作更像一种共创, 要反复总结和修改 ( 费曼学习法 ) 。 写作本书给我的启示 基础、排序、查找、树、图 代码框、颜色、图片绘制均由 Latex 完成 可参考点 为什么 为什么讲这个话题? 为什么要讲数据结构和算法两部分? 算法相关知识 算法相关知识 • 抽象数据类型 • 时空复杂度 • 复杂度计算 • 基本数据结构复杂度 抽象数据类型0 码力 | 28 页 | 3.52 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理及以上(跨平台作业) Git 2.x (作业上传到 GitHub ) CUDA Toolkit 10.0 以上( GPU 专题) 从一个案例看 C++ 的历史 • 求一个列表中所有数的和: # 参考资料 - [ 热心观众整理的学习资料 ](https://github.com/jiayaozhang/OpenVDB_and_TBB) - [C++ 官方文档 ](https://en.cppreference 那么您必须最好同时定义移动构造函数或移动赋值 函数,否则低效。 三五法则是前人总结的,避免犯错的经验。 只告诉做什么,不告诉为什么,是不深入的。 让我们通过撞南墙的方式来深入理解一下。 更多这样的前人经验可以参考: https://github.com/isocpp/ CppCoreGuidelines 三五法则:拷贝构造函数 • 在 = 时,默认是会拷贝的。比如右边这样: • 但是这样对我们当前 Vector0 码力 | 96 页 | 16.28 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 09 CUDA C++ 流体仿真实战来管理对象,这样尽管 CudaSurface 对象是不可 移动的,我们仍可以通过移 动其指针的方式来实现双缓 冲( std::swap )。 对流部分 对流部分:计算对流后位置( RK3 ) • 这里我参考了 Taichi 官方案例中的 stable_fluid.py 代码(二维定常流仿真),主要由 k-ye 编写 ,我学习 GAMES201 后贡献了支持 RK2 和 RK3 的版本。这里我们用高效的0 码力 | 58 页 | 14.90 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起)能够自动查找所有依赖,并利用刚刚提 到的 PUBLIC PRIVATE 正确处理依赖项,比如如果你引用了 OpenVDB::openvdb 那么 TBB::tbb 也会被自动引用。 • 其他包的引用格式和文档参考: https://cmake.org/cmake/help/latest/module/FindBLAS.html 安装第三方库 - 包管理器 • Linux 可以用系统自带的包管理器(如 apt0 码力 | 32 页 | 11.40 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 性能优化之无分支编程 Branchless Programming为“虚函数表( vtable )”。这样一来,类成员里只需要存一个指向虚函数表首地址的指针,之后通过 查找该表即可找到连续的 n 个函数指针。此处为了方便理解,右侧案例代码没有用虚函数表。 课外拓展 · 参考资料 • 堆栈和 ABI 的知识 https://zhuanlan.zhihu.com/p/27339191 • x86 汇编指令大全 https://zhuanlan.zhihu.com/p/533948070 码力 | 47 页 | 8.45 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅• .\vcpkg install tbb:x64-windows • Mac OS: • .\vcpkg install tbb:x64-macos • Other: • 从源码构建安装,参考: https://blog.csdn.net/weixin_42973508/article/details/111681426 详见 https://www.bilibili.com/video/BV1fa411r7zp0 码力 | 116 页 | 15.85 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串的 stringstream 3. C++20 新增的 std::format 4. 第三方库提供的 fmt::format ( https://github.com/fmtlib/fmt ) 5. 参考小彭老师在 zeno 里手撸的两个函数(能支持任意 STL 容器的打印) : • https://github.com/zenustech/zeno/blob/master/zeno/inclu0 码力 | 162 页 | 40.20 MB | 1 年前3
共 7 条
- 1













