Design patterns for error handling in C++ programs using parallel algorithms and executors0 码力 | 32 页 | 883.27 KB | 1 年前3
Interesting Upcoming Features from Low Latency, Parallelism and Concurrency0 码力 | 56 页 | 514.85 KB | 1 年前3
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从 iency) 在“小学二年级”算法课里,我们学过复杂度的概念,意思是算法执行所花费的时间取决于数据量的大小 n,比如 $ O(n^{2}) $ 表示花费时间和数据量的平方成正比。 - 对于并行算法,复杂度的评估则要分为两种: • 时间复杂度:程序所用的总时间(重点) • 工作复杂度:程序所用的计算量(次要) - 这两个指标都是越低越好。时间复杂度决定了快慢,工作复杂度决定了耗电量。 个核心工作一小时,4 个核心工作 1/4 小时。工作复杂度一样,而后者时间复杂度更低。 - 并行的主要目的是降低时间复杂度,工作复杂度通常是不变的。甚至有牺牲工作复杂度换取时间复杂度的情形。 - 并行算法的复杂度取决于数据量 n,还取决于线程数量 c,比如 $ O(n/c) $ 。不过要注意如果线程数量超过了 CPU 核心数量,通常就无法再加速了,这就是为什么要买更多核的电脑。 • 也有一种说法,认为要用0 码力 | 116 页 | 15.85 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从0 码力 | 32 页 | 11.40 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从0 码力 | 79 页 | 14.11 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从0 码力 | 82 页 | 12.15 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从0 码力 | 96 页 | 16.28 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从0 码力 | 108 页 | 9.47 MB | 2 年前3
FISCO BCOS 2-dev 中文文档nge引用数据分片外,循环体内的代码几乎没有任何变化,接近C++原生语法正是TBB的特点。TBB提供了抽象层级较高的并行接口,如parallel_for、parallel_for_each这类泛型并行算法,从而使得改造能够较为容易地进行。同时,TBB不依赖任何语言或编译器,只要有能支持ISO C++标准的编译器,便有TBB的用武之地。 当然,使用TBB并不是完全没有额外负担,比如线程间安全还是需 nge引用数据分片外,循环体内的代码几乎没有任何变化,接近C++原生语法正是TBB的特点。TBB提供了抽象层级较高的并行接口,如parallel_for、parallel_for_each这类泛型并行算法,从而使得改造能够较为容易地进行。同 时,TBB不依赖任何语言或编译器,只要有能支持ISO C++标准的编译器,便有TBB的用武之地。0 码力 | 1324 页 | 85.58 MB | 2 年前3
FISCO BCOS 2.8.0 中文文档nge引用数据分片外,循环体内的代码几乎没有任何变化,接近C++原生语法正是TBB的特点。TBB提供了抽象层级较高的并行接口,如parallel_for、parallel_for_each这类泛型并行算法,从而使得改造能够较为容易地进行。同时,TBB不依赖任何语言或编译器,只要有能支持ISO C++标准的编译器,便有TBB的用武之地。 当然,使用TBB并不是完全没有额外负担,比如线程间安全还是需 nge引用数据分片外,循环体内的代码几乎没有任何变化,接近C++原生语法正是TBB的特点。TBB提供了抽象层级较高的并行接口,如parallel_for、parallel_for_each这类泛型并行算法,从而使得改造能够较为容易地进行。同 时,TBB不依赖任何语言或编译器,只要有能支持ISO C++标准的编译器,便有TBB的用武之地。0 码力 | 1435 页 | 92.25 MB | 2 年前3
共 25 条
- 1
- 2
- 3













