スレッドを使用してパーティション化された配列から数値を加算するプログラムを C で作成しています。このプログラムは、いくつかのあいまいなコマンド ライン引数を使用して、使用するパーティションの数を決定します。
これは、私のブリーフから苦労している部分のコピーです。
Divide the array into 2**n partitions (n is another command-line argument) and create
one thread to do simple sum of all values stored in one partition of the array. Each
thread can calculate which locations of the array it should search given the thread index
(0,1, … 2**n-1). For example, if n=1 and the array is size 512, then thread 0 should sum
array locations [0,255] and thread 1 should search array locations [256-511]. Each
thread should store the partial sum it produces in a global array. Note that since the
threads do not share any data, they do not need to be synchronized, however you do need
to wait until the last thread completes processing before continuing on to the next
stage.
配列を分割する方法と、このタスクにスレッドが必要な理由はまったくわかりませんが、それが私の要件の一部であるため、それらを使用する必要があります。誰かが、パーティショニングとスレッドの理由についてもう少し明確に説明するのを助けることができれば、私は最も感謝しています。私はすでに配列を作成し、乱数で埋めました。