domenica 21 luglio 2013

FPGA: Compilazione distribuita

Oltre ad utilizzare i diversi core di un singolo pc per la compilazione è possibile accelerare la lunga esplorazione dello spazio delle soluzioni con Design Space Explorer (DSE) tramite l’utilizzo di più computer

Una volta aperto Altera Design Space Explorer scegliamo dal menù Parallel DSE la voce Distribute Compilations to Other Machines se non spuntata, dopodiché scegliamo Configure Resources all’interno dello stesso menù.

menu

Si aprirà una finestra che permetterà di aggiungere le macchine con cui vorremo dividere il carico di lavoro richiesto dalle compilazioni, scegliamo il pulsante Add ed inseriamo l’indirizzo IP concatenato alla porta (di default 1977) e scegliamo OK, apparirà nella lista. Ripetiamo l’operazione per ogni pc remoto. Chiudiamo adesso la finestra Configure Resources premendo OK.

NB: Nella documentazione non è esplicitato il formato indirizzo:porta con cui inserire il pc remoto e si potrebbe avere qualche frustrazione leggendo solamente la guida

QSlave

Sulle macchine remote (nell’immagine solo il pc con IP 192.168.1.222) assicuriamoci che sia installata la stessa versione di Quartus e lanciamo dalla riga di comando “quartus_sh --qslave” dalla cartella bin di Quartus, in genere C:\altera\13.0\quartus\bin, apparirà il terminare Quartus II QSlave che rimarrà in attesa di pacchetti di lavoro da elaborare da parte del programma Design Space Explorer sul pc “master

shell

Di default il terminale svolgerà un solo lavoro in contemporanea, ma se la nostra macchina remota dispone di più core è possibile impostare il parametro jobslimit all’avvio del terminale QSlave, chiamando ad esempio il comando:

quartus_sh –qslave jobslimit=2

Il terminale riporterà in questo caso il messaggio: Slave can run 2 job(s) concurrently a conferma della corretta impostazione ricevuta, in modo analogo è possibile cambiare la porta tramite il parametro port.

NB: E’ necessario configurare il firewall ed il router per poter ricevere in ingresso i dati da elaborare

Tornando al pc master, lanciando la compilazione in Design Space Explorer dopo poco noteremo nel terminale alcuni startRemoteCommand, segno che la compilazione sta per essere avviata anche sugli altri computer remoti dove si popolerà il terminale QSlave di messaggi sulla stato della lavorazione.

remotelog

Il tempo totale di compilazione potrà essere significativamente ridotto con un adeguato parco macchine, lo svantaggio è però sicuramente il maggiore consumo energetico.

Nessun commento:

Posta un commento