Radiographie numérique: une promenade le long d'Elbrus

Bonjour Habr! La dernière fois, j'ai écrit sur un projet d' inspection aux rayons X des circuits imprimés . Maintenant que nous avons fait beaucoup de progrès, il y a un prototype fonctionnel du logiciel plus "piqué avec un bâton" dans Elbrus. Je veux vous parler de cette expérience.



image



Intro



Au début du projet, nous avons réussi à trouver des financements supplémentaires, la condition principale étant le logiciel multiplateforme complet, y compris le support des processeurs nationaux. À cette époque, l'option la plus productive pour les ordinateurs de bureau était Elbrus 8C (alors qu'il le reste, 8CB n'est pas encore apparu). Nous avons acheté deux stations Elbrus 801-RS directement auprès de MCST. Maintenant leur coût est indiqué sur le site, il y a un an, ils étaient un peu plus chers.



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