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.
'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.
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.
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.
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.