Ho una funzione perfettamente parallela che funzionerebbe perfettamente su una macchina con 1024 core e 4 GB di RAM. C'è un bel po 'di ramificazioni (facendo set union e strutture di attraversamento). Non c'è comunicazione tra i thread (tranne quando l'intero calcolo è completo). Ogni thread richiede meno di 1 MB di memoria privata e nessuna memoria condivisa. Il risultato di ogni calcolo può essere unito come un CRDT; è fondamentalmente max
su un insieme di strutture.
So che questo si adatterebbe al calcolo distribuito. Le GPU sono più efficienti e potenti delle CPU, quindi preferisco usarle. Sembra che questo si adatterebbe GPGPU, dal momento che è massicciamente parallelo e utilizza così poca memoria, ma come posso dire? OpenCL / AMD / CUDA non ha importanza.