Sto provando a fare l'elevazione a più moduli di interi con un modulo molto grande mediante quadratura ripetitiva (la potenza è sempre una potenza di 2 nel mio caso, quindi credo che sia il modo più efficiente). Grazie a una buona proprietà del mio modulo, il resto dell'informatica è economico; la parte difficile è la moltiplicazione.Libreria aritmetica parallela arbitraria di precisione
Attualmente eseguo GMP su Intel Core 2 Quad. Mi piacerebbe fare un uso efficiente dei quattro core del processore, ma GMP non si adatta agli ambienti SMP, quindi sto cercando una libreria aritmetica sostitutiva arbitraria di precisione. Ho trovato alcune librerie per il calcolo parallelo su matrici , ma quello di cui ho veramente bisogno è una libreria per gli interi .
Esiste quello che sto cercando?
Quanto sono grandi i numeri (cifre, bit)? Anche con una forking a basso costo, il tempo di commutazione del contesto per consentire alle CPU multiple di lavorare su una singola operazione aritmetica potrebbe dominare qualsiasi risparmio. Se i numeri sono abbastanza grandi, dovresti fare una divisione ricorsiva e conquistare add/sottrarre [dividere il numero in parti sinistra e destra, aggiungere in modo recusivo le parti, propagare il carry], ma mi aspetterei che la vittoria fosse nel parallelizzare più e dividere se c'è una vittoria da avere. –
I miei moduli possono avere dimensioni pari a 2^10000000 (!). – Pteromys