- 博客(3)
- 资源 (4)
- 收藏
- 关注
原创 计算一个数组所有元素之和(方法总结)
上面两个帖子均以计算一个给定数组元素之和的例子 来展示多核处理器(多处理器)并行计算的方法。由于只是演示,在基于实际操作系统的场合下,这两种方法都需要有一定的变更。 第一个例子,在计算一个数组元素之和的场合下使用旋锁,在一定程度上有些不合适。由于上锁和解锁所花费的开销可能是从数组中获取相应元素,然后加到指定地点所花费指令周期的2倍,甚至更多。对于一个旋锁,它只能放在非cache存
2008-02-14 21:33:00 12286
原创 计算一个数组所有元素之和(无锁方法)
上一贴介绍了比较常见的基于旋锁的并行计算方法。这里将介绍另一种无锁的并行计算方法。两者各有利弊。同样是计算一个数组,在Blackfin561双核DSP中,可以利用两个核对一个数组进行同时计算,其中一个核计算该数组的前50个元素,另一个核计算该数组的后50个元素。下面贴除源代码: // 在共享存储区// shared.cint resultA = 0, resultB = 0;
2008-02-14 20:41:00 2002
原创 计算一个数组所有元素之和(基于多处理器的并行开发讨论)
我早些时候上传了 《双核协作完成搜索β》(详细可见我的资源),这个方法是无锁并行计算方法,下面介绍一种更长见的带锁的多处理器计算方法。这个方法若使用像OpenMP这样的编译工具的话会使得代码更好看,更自然一些。 以下代码是我基于Blackfin561双核DSP,VisualDSP++4.5环境下通过测试的。这个方法比无锁更容易实现,不过如果没有OpenMP的话,在对一些临界变量进行上锁时
2008-02-13 23:47:00 1422
OpenGL4.1 Tessellation Shader使用demo(基于macOS)
2023-05-08
用于Swift的顺从C11标准的原子操作
2016-09-25
MetalTessellation——基于macOS 10.12
2016-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人