Scusate il ritardo, questo è un argomento complesso.
In aggiunta a quello detto giustamente dal nostro amico
@BAT (concentrati sul imparare concetti e tecniche di programmazione) usare la potenza di calcolo delle schede GPU adesso
è usato in maniera massiccia da moltissime applicazioni in cui è possibile scrivere gli algoritmi in modo che i dati possano essere facilmente manipolati nelle schede grafiche, in genere tali algoritmi elaborano dati in forma di vettori, e possono essere scritti per gestire più esecuzioni allo stesso tempo (ossia in parallelo). installando più schede grafiche nello stesso computer si può poi parallelizzare ulteriormente il processo. Adesso certi processi e certe simulazioni richiedono poche ore di calcolo mentre decine di anni fa, usando CPU convenzionali, richiedevano giorni di calcolo. Quindi per rispondere a una delle tue domande, la cosa è già fattibile.
Quindi prima di tutto occorre avere una chiara idea di come scrivere un algoritmo e come ottimizzarlo, non è qualcosa che si possa imparare nei primi corsi universitari (la prima volta che guidi un’auto non entri in una monoposto da F1)
Il secondo problema è che esistono attualmente molte schede grafiche ognuna con il suoi hardware e i suoi driver, scrivere un programma che possa andare bene per tutte è dura. Tale problema è stato risolto con librerie e framework specialistici che “nascondono” i dettagli dell’hardware (
@BAT ti ha accennato a CUDA e OpenCL), e che espongono API (application programming interface) con cui si passano i dati (in genere sotto forma di vettori) e il tipo di elaborazione che si vuole effettuare, e loro fanno il “lavoro pesante”. Queste librerie sono scritte in C è sono quindi usabili direttamente da programmi scritti in C e C++, ma possono essere usate con accorgimenti da altri linguaggi. Python viene usato molto, specie a livello di sperimentazione, quando la sola cosa che deve fare è leggere i dati e passarli poi alle librerie di elaborazione (per questo motivo Python si è guadagnato il nomignolo di “glue language”, ossia “collante”)
Puoi trovare ulteriori informazioni anche di interesse storico sulla pagina
Wiki (è un link) dedicata a questo argomento.
Per rispondere alla tua domanda, non ti preoccupare adesso del tipo di computer da comprare, e di quale scheda grafica. Devi imparare prima di tutto il ABC della scienza della informazione, e qualche linguaggio di programmazione (più di uno), quando sarai pronto per provare GPGP (acronimo per programmazione usando scheda grafica) probabilmente avrai bisogno di un computer nuovo. Compra un notebook economico, e aggiungici uno monitor decente, non ti serve nient’altro.