Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm CREW和EREW婴儿车上的布尔OR问题_Algorithm_Parallel Processing - Fatal编程技术网

Algorithm CREW和EREW婴儿车上的布尔OR问题

Algorithm CREW和EREW婴儿车上的布尔OR问题,algorithm,parallel-processing,Algorithm,Parallel Processing,我正在学习婴儿车算法。因为我们可以使用以下方法计算CRCW PRAM的O(1)时间内的布尔OR 设A[0]=A[1]| A[2]| A[3]…| A[n]是n位A[1..n]的布尔或。假设[0]一开始是零。在第一个时间步骤中,处理器i(1我认为独占读取不是问题,因为每个处理器都在读取自己的位。问题在于独占写入部分,因为所有处理器都必须在[0]中写入。我认为最好的方法是制作一种比赛树。这样,您可以将结果升级到下一级别,直到您获得冠军。然后您可以将最终结果写入[0]。这将是O(log n).我认为独

我正在学习婴儿车算法。因为我们可以使用以下方法计算CRCW PRAM的O(1)时间内的布尔OR


设A[0]=A[1]| A[2]| A[3]…| A[n]是n位A[1..n]的布尔或。假设[0]一开始是零。在第一个时间步骤中,处理器i(1我认为独占读取不是问题,因为每个处理器都在读取自己的位。问题在于独占写入部分,因为所有处理器都必须在[0]中写入。我认为最好的方法是制作一种比赛树。这样,您可以将结果升级到下一级别,直到您获得冠军。然后您可以将最终结果写入[0]。这将是O(log n).

我认为独占读取不是问题,因为每个处理器都在读取自己的位。问题在于独占写入部分,因为所有处理器都必须在[0]中写入我认为最好的方法是制作一种竞赛树,这样你就可以或一对比特,并将结果提升到下一个级别,直到你有一个冠军。然后你可以把最终的结果写进一个[0 ]。这将是O(log n)。谢谢你的回答。……考虑我们有5个元素A [ 0 ]=1,A [1 ]=0,A [2 ]=1,A [3 ]=1,A [4 ]。=1.然后对于CREW和EREW,我们可以做的是在第一个时间步骤中,一个处理器的A[0]| A[1],然后是第二个处理器的A[1]| A[2],依此类推,然后在下一个步骤中,我们可以或他们的答案正确吗?那么处理器绑定的是什么呢?它也是logn吗?谢谢,实际上,你必须匹配A[1]| A[2];A[3]| A[4];A[n-1]| A[n],然后它们在第二级中的结果,依此类推。如果要达到O(logn)时间,第一轮至少需要n/2个处理器(即操作数)。然后可以将每个步骤中的处理器数减少一半。但这仍然是O(n)处理器,因为第一个STEP。谢谢…回答。考虑到我们有5个元素A[ 0 ]=1,A [1 ]=0,A [2 ]=1,A [3 ]=1,A [4 ]=1。然后对于乘务员和ErEW,我们可以做的是在第一个时间步长是…[ [ 0 ] ] [一个处理器] [一个处理器] [然后] [A ] [A ]。对于第二个处理器等等,在下一步中,我们可以或他们的答案是正确的???那么什么可以被处理器绑定..它也是logn吗???谢谢,事实上,你必须匹配A[1]| A[2];A[3]| A[4];;A[n-1]| A[n],然后他们的结果在第二级等等。如果你想达到O(logn)第一轮至少需要n/2个处理器的时间(即操作数)。然后可以将每个步骤中的处理器数减少一半。但由于第一步的原因,这仍然是O(n)个处理器。