Bioinformatica e Web 2.0

Inside Bioinfo

25 giugno 2007 - 10:49

GPU Computing

Non so se ve ne siete accorti, negli ultimi tempi non si parla d’altro:GPU computing. Ma cosa significa GPU computing? Essenzialmente si tratta di demandare routine di calcolo alla GPU (Graphics Processing Unit), ovvero il processore della vostra scheda video.

Ci sono svariati motivi per cui si è intrapresa questa via. Il primo, e probabilmente più logico, è il fatto che le moderne GPU hanno una potenza di calcolo decisamente elevata. Negli ultimi anni questa è cresciuta più velocemente rispetto alla potenza delle CPU, a causa di un mercato milionario dei videogame e della relativa semplicità di progettazione delle GPU. In aggiunta, le GPU sono nativamente in grado di gestire parallelamente più unità di calcolo, sono progettate espressamente per questo dovendo gestire modelli tridimensionali con alta efficienza.

L’idea, peraltro assai semplice, è quindi interfacciare alla GPU algoritmi comunemente utilizzati. Quest’approccio è tutt’altro che semplice. Prima di tutto un algoritmo deve essere parallelizzabile. In secondo luogo si devono utilizzare delle specifiche API (Application Programming Interface) per implementare l’interfaccia. Nella migliore delle ipotesi il codice di un programma va semplicemente riscritto.

Tra i progetti emergenti non si può non citare TESLA, della NVIDIA. Si tratta di una “normale” scheda video GeForce 8800, senza uscita video. Una singola scheda ha un picco teorico di circa 500 Gflop in precisione singola. NVIDIA prevede un “server” con quattro di queste schede da collegare ad un server controller, per raggiungere un picco teorico di circa 2 Tflop! Il tutto a “soli” 12000 USD. Assieme a questa scheda vengono fornite le API e le SDK necessarie per implementare i propri algoritmi.

La domanda che vi starete facendo tutti è: “Come posso trarne vantaggio in bioinformatica?”. Beh, ci sono svariati progetti a riguardo, provate a cercare in pubmed o in google! Al momento molti di questi riguardano campi molto vicini alla fisica, come la risoluzione di strutture proteiche, ma credo che algoritmi per l’analisi delle sequenze verranno presto implementati (alla BITS 2007 era presente un poster sull’implementazione dell’algoritmo Smith-Waterman proprio su una GeForce 8800). Alcuni applicativi, già parallelizzati, sono possibili candidati di un port in questo senso, tra cui: hmmer, blast, fasta e genewise.

Other Posts

  1. Openhelix (una risorsa importante per il bioinformatico)
  2. GALAXY (finalmente la genomica for dummies!)
  3. Nuova uscita per Bio::Blogs #18
  4. Quanto si guadagna a fare scienza?
  5. Protein ID mapping (come passar da una nomenclatura ad un’altra in due facili click)
  6. Disegnare velocemente Primer con CLC…
  7. Protein ID mapping (come passar da una nomenclatura ad un’altra in due facili click)
  8. The DNA Network (un occhio di sbieco sul mondo della science-blog-sphere)
  9. Progetto bioSapiens (corsi e dintorni)

 

RSS feed per i commenti di questo post | TrackBack URI