r/italy Nov 28 '18

/r/italy Caffè Italia * 28/11/2018

Buongiorno ingegnere, il solito?

17 Upvotes

699 comments sorted by

View all comments

6

u/bilog78 Sicilia Nov 28 '18

Due miei borsisti hanno deciso che preferiscono fare il porting a Windows di 44KLOC di CUDA e C++ che fare dual boot (motivo principale: i loro laptop hanno dischi fissi piccoli).

Ovviamente il build system è tutto basato su GNU Make e tool che si trovano normalmente in ambienti POSIX.

Al momento siamo arrivati a far sí che si possano lanciare nvcc.exe e cl.exe dalla bash di WSL lanciata dentro un prompt di sviluppo di Visual Studio. Ora vedremo quanta roba nel nostro codice assume POSIX & co.

3

u/nov4chip No Borders Nov 28 '18

Good luck. Comunque scelta che proprio non capisco, una distro Linux occupa pochi GB di spazio.

2

u/bilog78 Sicilia Nov 28 '18

'nsomma. Una distro minimalista piglia poco, è vero. Poi ci metti tutto l'ambiente di sviluppo per CUDA e relative dipendenze. Poi ci metti il sorgente, i test case e relativi dati, ed i prodotti della compilazione, e i “pochi giga” diventano parecchie decine.

3

u/univac-- Nov 28 '18

Che orrore i giovani d' oggi.

2

u/bilog78 Sicilia Nov 28 '18

Una manica di pervertiti, guarda.

3

u/arandomnameplease Polentone Nov 28 '18

conoscoalcunediquesteparole.jpg

1

u/mfabbri77 Europe Nov 28 '18

Prendi il mio upvote!

Io normalmente cross-compilo codice c99 su una Debian virtuale (una macchina virtual box) su cui sono installati compilatori, SDK, tools, per svariate target platform (inclusi OSX, iOS, Android, architetture ARM, X86, X64, Mips, e boh quel che ti viene in mente probabilmente c'è)

Per lo sviluppo è troppo più comodo Visual Studio su Windows per forza.

Passo successivo: trovare il tempo di automatizzare il tutto con Jenkins per lanciare builds e tests sul commit di GitHub.

A proposito, qualcuno ha idea di cosa potrei usare per lanciare i test su macchine emulate (tipo QEMU)? Testare su ogni singolo device è un'operazione davvero tediosa.

1

u/bilog78 Sicilia Nov 28 '18

Io normalmente cross-compilo codice c99 su una Debian virtuale

Madonna santa, la mancanza di supporto per il C99 fino a qualche hanno in MSVC mi ha fatto girare i coglioni come non puoi avere idea.

Per lo sviluppo è troppo più comodo Visual Studio su Windows per forza.

Ma ha i keybindings di vim?

Testare su ogni singolo device è un'operazione davvero tediosa.

Travis CI immagino non copra tutte le piattaforme per le quali compili, vero?

1

u/mfabbri77 Europe Nov 28 '18 edited Nov 28 '18

Che poi non uso "tutto" il C99, anzi, essendo che ora stiamo licenziando praticamente solo in campo automotive, stiamo convertendo gran parte del codice in modo che sia MISRA compliant: un delirio.

Vim non lo sopporto, la prima cosa che faccio quando installo una distro Linux appena arrivo al prompt dei comandi, è installare Nano o Pico se non ci sono già. E dire che la prima Slackware l'ho installata nel '94, prima su Amiga avrò qualche volta usano MicroEmacs, ma anche quello l'ho abbastanza odiato.

TravisCI me lo guardo bene, avevo sempre (forse erroneamente) pensato che fosse maggiormente mirato a linguaggi di scripting... Javascript, Python, ecc.

Il progetto è AmanithVG, le piattaforme che supportiamo sono elencate qui.

2

u/bilog78 Sicilia Nov 28 '18

MISRA

Non conoscevo, grazie per il link.

Vim non lo sopporto.

Basta, non ti parlo piú ;-)

AmanithVG

Interessante, me lo segno.

1

u/timendum Automatismo Nov 28 '18

Se hanno Windows 10 possono provare Windows Subsystem for Linux.

0

u/bilog78 Sicilia Nov 28 '18

Qualcuno non ha letto il mio post con attenzione ;-)