RadiografĂ­a digital: un paseo por Elbrus

¡Hola Habr! La última vez escribí sobre un proyecto para la inspección por rayos X de placas de circuito impreso . Ahora que hemos progresado mucho, hay un prototipo funcional del software más "empujado con un palo" en Elbrus. Quiero contarte esta experiencia.



imagen



Intro



Al inicio del proyecto, logramos encontrar financiamiento adicional, la condición principal era el software multiplataforma completo, incluido el soporte para procesadores nacionales. En ese momento, la opción más productiva para las máquinas de escritorio era Elbrus 8C (mientras permanece, 8CB aún no ha aparecido). Compramos dos estaciones Elbrus 801-RS directamente de MCST. Ahora su costo está indicado en el sitio, hace un año eran un poco más caras.



, – . NDA, ( ). , – . . / , .





2020 – : (, ). Linux. , – . .



– , Fly , . , , .



– USB , . - .



. 4.0, 5.0rc2 – , «» . VLIW . .



UPD: 6.0. C++20 Linux, — .





++, 14- , CUDA Vulkan , OpenGL AMD . – OpenGL 3.1, QT 5.11.



– - . , «» , . .



, (titovmaxim, Unicore Solutions)

– . – . . TLDR: .



– . Ethernet 1 , GigE Vision. , ( Aravis) , .



, , 1 , . , . . , , . .



OpenGL, .. , . , , , , , . OpenGL, CUDA, .



3000x3000 16 (AMD R5) ~33 . , -. , . , x86 GeForce RTX 2070 Max-Q ~2, .



– RS232, Web UVC, .



Qt 5.11 QML . . , "-", . , , 5.11 «» .



, C++ 14. C++ QML , c Flow.



Flow



— , boilerplate . ++, , , , . , , OpenGL, « ». ( update) / , ( ), Qt. – subscribe/unsubscribe , , :) ReactiveX, , .



- ( C++ ), QMetaObject. , QML (, WPF C#), , QML QVector diff’ ( QAbstractItemModel), / .



C++ 17. C++ 14 , , . , . , GCC MSVC. auto . this . , . , ;)



. . , . , . , -fnon-call-exceptions .



, "" Linux x86 . .



OpenCV



, «» - OpenCV 3.2. , “” – . . OpenCV 8 (1300 ) Intel core i7 (2600 ) / openCV:



openCV vs Intel i7
, 5.0rc2/ -8/ OpenCV 3.2 8.1/ -8/ OpenCV 3.2 1.6/ Intel Core i7 7700/ OpenCV 3.2 Windows 10/ Intel Core i7 9750H/ OpenCV 3.2 Windows 10/ Intel Core i7 9750H/ OpenCV 4.4
5x5, 3000x3000, 16S 35 334 99,7 94 105,9
5x5, 3000x3000, 16U 244 280 - 98 106,5
5x5, 3000x3000, 32F 32 271 23,9 24 11,4
5x5, 3000x3000, 16S 15,3 257 36,3 35 5,7
5x5, 3000x3000, 16U 184 251 - 12,5 40
5x5, 3000x3000, 32F 14,5 222 8,1 7,7 6,2


OpenCV EML (. , VLIW ). EML . , . – .



– , 2 (16S) i7, 2 (32F). OpenCV 20 . , 16U .





. (, ) , , . .



– , - .



, . .




All Articles