Raio-X digital: um passeio ao longo de Elbrus

Hello Habr! A última vez que escrevi sobre um projeto de inspeção por raio-X de placas de circuito impresso . Agora que fizemos muito progresso, existe um protótipo funcional do software mais "cutucado com um pedaço de pau" no Elbrus. Eu quero te contar sobre essa experiência.



imagem



Introdução



No início do projeto, conseguimos obter financiamento adicional, a principal condição era o software multiplataforma completo, incluindo suporte para processadores nacionais. Naquela época, a opção mais produtiva para máquinas desktop era o Elbrus 8C (enquanto permanece, o 8CB ainda não apareceu). Compramos duas estações Elbrus 801-RS diretamente do MCST. Agora o custo deles está indicado no site, há um ano eram um pouco mais caros.



, – . 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