American Citizen on Sat, 23 Aug 2025 01:03:56 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: question on implementing an atomic operation in GP Pari |
On 8/22/25 01:34, Bill Allombert wrote:
On Thu, Aug 21, 2025 at 01:04:46PM -0700, American Citizen wrote:Hello: Currently I am using 6 cores to run though a long list of primes or product of primes congruent to 1 mod 4. (such as 5, 37, 65, etc) I split the list according to the assigned processor number 0..5 by using modulus 6 values. While this method works, some of the processors are climbing up the list faster than others. Currently I have n:88181 n:90889 n:87145 n:88285 n:88633 n:89245 and you can see that the 2nd processor at 90,889 is ahead of the others. The 3rd processor is behind at 87,145. I can use an alternate scheme, having all 6 cores access an atomic operator and receiving just one unique number from the list, then incrementing the index to the list, this would insure that all numbers are bunched closely together. This requires an atomic "get and increment" operator. I do have C code which does this, would this be the right way to go, to implement an external call into the gp code?You can do that directly in GP using parfor or parforeach. Cheers, Bill.