Sviluppo software desktop
Sviluppiamo con grande cura software custom per applicazioni desktop in una grande varietà di settori, dai sistemi diagnostici industriali ai prodotti consumer, fino alla ricerca scientifica.
Alcuni dei servizi di sviluppo software desktop che offriamo:
Utilizziamo le tecnologie più adatte per raggiungere gli obiettivi di un progetto, come Qt Framework, Linux, Python, Go e React.
Sviluppo GUI multipiattaforma
Sviluppiamo complesse interfacce utente basate sul toolkit Qt, utilizzando C++ o Python (o entrambi) a seconda dei casi. Siamo in grado di gestire le problematiche di portabilità del software tra sistemi Linux, Windows e Mac OSX. Possiamo occuparci anche di visualizzazioni 3D tramite OpenGL, ambienti virtuali con Openscenegraph, e applicazioni cartografiche, anche tramite Openstreetmap.
- Dimensione media dei progetti: 3-12 mesi uomo
- Linguaggi di programmazione: C++, Python
- Librerie: Qt, OpenGL, Openscenegraph, Openstreetmap
- OS: Linux, Windows, Mac
Ottimizzazione su GPU con CUDA e OpenCL
Effettuiamo porting di algoritmi esistenti per l’utilizzo intensivo del calcolo parallelo su GPU, utilizzando le librerie CUDA di Nvidia o OpenCL. Non tutti gli algoritmi possono beneficiare dell’accelerazione tramite GPU, che per essere sfruttate al massimo richiedono alto parallelismo e bassissimo utilizzo di memoria; se il tuo algoritmo non si adattasse alle GPU fin da subito, possiamo suggerirti e implementare delle soluzioni basate su algoritmi alternativi. Affidarti a noi ti aiuterà a non perdere tempo in strade che non portano ai risultati attesi.
- Dimensione media dei progetti: 1-2 mesi
- Linguaggi di programmazione: C, C++
- Librerie: CUDA, OpenCL
- OS: Linux, Windows
Ottimizzazione software di rete per bandwidth o latenza
Analizziamo con attenzione le performance di software di rete con stringenti requisiti di bandwidth e/o latenza, e implementiamo refactoring in grado di portare importanti benefici rispetto ai target necessari. Abbiamo competenza nell’analizzare problemi legati all’uso improprio dell’architettura del core loop (threading o reattiva), nell’uso di memoria (copie di buffer superflue), o nelle API di sistema utilizzate per interfacciarsi con il kernel. Con interventi mirati, possiamo migliorare notevolmente le performance e indicare eventuali altri spazi di intervento.
- Dimensione media dei progetti: 1-3 mesi
- Linguaggi di programmazione: C, C++
- Librerie: pthread, libev, libuv, socket
- OS: Linux, Windows