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.

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:
| , | 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 .
. (, ) , , . .
– , - .
, . .