デジタルX線:エルブラスに沿った散歩

こんにちはHabr!前回、プリント回路基板のX線検査プロジェクトについて書きました今、私たちは多くの進歩を遂げました。Elbrusには、ソフトウェアの実用的なプロトタイプに加えて、「棒で突く」ことがあります。この経験についてお話ししたいと思います。



画像



イントロ



プロジェクトの開始時に、私たちは追加の資金を見つけることができました。主な条件は、国内のプロセッサのサポートを含む完全なクロスプラットフォームソフトウェアでした。当時、デスクトップマシンで最も生産的なオプションはElbrus 8Cでした(まだ残っていますが、8CBはまだ登場していません)。 2つのElbrus801 -RSステーションをMCSTから直接購入しました。現在、彼らの費用はサイトに示されていますが、1年前はもう少し高価でした。



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