Research Article
Optimizing NEURON Simulation Environment Using Remote Memory Access with Recursive Doubling on Distributed Memory Systems
Algorithm 1
Recursive doubling algorithm for target calculation.
Input: Step number, Rank of processor | Output: target | Start | flag = Rank/((step − 1)) | if flag is even | if IsPowerOfTwo(step) | target rank + (2(step − 1)) | else | diff step − previous power of two from rank | if diff is positive number | target Rank + (2(diff + previous power of two − 1)) | else | target Rank + 2(Previous power of two) | else | if IsPowerOfTwo(step) | target Rank − ((step − 1)) | else | diff step − previous power of two from Rank | if diff is positive | target Rank − ((diff + previous power of two − 1)) | else | (Previous power of two) | Return target value | End |
|