Scalable Vector Extension (SVE) is a vector extension the A64 instruction set of the Armv8-A architecture. Armv9-A builds on SVE with the SVE2 extension. Unlike other SIMD architectures, SVE and SVE2 do not define the size of the vector registers, but constrains it to a range of possible values, from a minimum of 128 bits up to a maximum of 2048 in 128-bit wide units. Therefore, any CPU vendor can implement the extension by choosing the vector register size that better suits the workloads the CPU is targeting. The design of SVE and SVE2 guarantees that the same program can run on different implementations of the instruction set architecture without the need to recompile the code.
-O2 밖에 안되서 어떻게 될지 모르겠지만 혹시나 cython 이라던가 이쪽에서 지원하지 않을가 해서 검색해보니
먼가 하나 나와서 테스트 중
설치는 간단하고
# pip3 install simsimd Collecting simsimd Downloading simsimd-6.5.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.metadata (70 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.5/70.5 kB 758.3 kB/s eta 0:00:00 Downloading simsimd-6.5.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (563 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 563.2/563.2 kB 4.6 MB/s eta 0:00:00 Installing collected packages: simsimd Successfully installed simsimd-6.5.1 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
일부는 설정용도로 쓸 수 있고, 일부는 상태정보를 폴링(polling)으로 읽어갈 수 있다.
$ gst-inspect-1.0 autovideosink Factory Details: Rank none (0) Long-name Auto video sink Klass Sink/Video Description Wrapper video sink for automatically detected video sink Author Jan Schmidt <thaytan@noraisin.net>
Plugin Details: Name autodetect Description Plugin contains auto-detection plugins for video/audio in- and outputs Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstautodetect.so Version 1.20.3 License LGPL Source module gst-plugins-good Source release date 2022-06-15 Binary package GStreamer Good Plugins (Ubuntu) Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-good1.0
Pad Templates: SINK template: 'sink' Availability: Always Capabilities: ANY
Element has no clocking capabilities. Element has no URI handling capabilities.
Pads: SINK: 'sink'
Element Properties: async-handling : The bin will handle Asynchronous state changes flags: readable, writable Boolean. Default: false filter-caps : Filter sink candidates using these caps. flags: readable, writable, 0x2000 video/x-raw
message-forward : Forwards all children messages flags: readable, writable Boolean. Default: false name : The name of the object flags: readable, writable, 0x2000 String. Default: "autovideosink0" parent : The parent of the object flags: readable, writable, 0x2000 Object of type "GstObject" sync : Sync on the clock flags: readable, writable Boolean. Default: true ts-offset : Timestamp offset in nanoseconds flags: readable, writable Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0
Properties and values Properties are used to describe extra information for capabilities. A property consists of a key (a string) and a value.
주기적으로 읽는게 싫다면 signal을 제공하는 엘리먼트를 통해 이벤트 발생시 값을 수신할 수 있다.
$ gst-inspect-1.0 fpsdisplaysink Factory Details: Rank none (0) Long-name Measure and show framerate on videosink Klass Sink/Video Description Shows the current frame-rate and drop-rate of the videosink as overlay or text on stdout Author Zeeshan Ali <zeeshan.ali@nokia.com>, Stefan Kost <stefan.kost@nokia.com>
Plugin Details: Name debugutilsbad Description Collection of elements that may or may not be useful for debugging Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstdebugutilsbad.so Version 1.20.3 License LGPL Source module gst-plugins-bad Source release date 2022-06-15 Binary package GStreamer Bad Plugins (Ubuntu) Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-bad1.0
Pad Templates: SINK template: 'sink' Availability: Always Capabilities: ANY
Element has no clocking capabilities. Element has no URI handling capabilities.
Pads: SINK: 'sink'
Element Properties: async-handling : The bin will handle Asynchronous state changes flags: readable, writable Boolean. Default: false fps-update-interval : Time between consecutive frames per second measures and update (in ms). Should be set on NULL state flags: readable, writable Integer. Range: 1 - 2147483647 Default: 500 frames-dropped : Number of frames dropped by the sink flags: readable Unsigned Integer. Range: 0 - 4294967295 Default: 0 frames-rendered : Number of frames rendered flags: readable Unsigned Integer. Range: 0 - 4294967295 Default: 0 last-message : The message describing current status flags: readable String. Default: null max-fps : Maximum fps rate measured. Reset when going from NULL to READY.-1 means no measurement has yet been done flags: readable Double. Range: -1 - 1.797693e+308 Default: -1 message-forward : Forwards all children messages flags: readable, writable Boolean. Default: false min-fps : Minimum fps rate measured. Reset when going from NULL to READY.-1 means no measurement has yet been done flags: readable Double. Range: -1 - 1.797693e+308 Default: -1 name : The name of the object flags: readable, writable, 0x2000 String. Default: "fpsdisplaysink0" parent : The parent of the object flags: readable, writable, 0x2000 Object of type "GstObject" signal-fps-measurements: If the fps-measurements signal should be emitted. flags: readable, writable Boolean. Default: false silent : Don't produce last_message events flags: readable, writable Boolean. Default: false sync : Sync on the clock (if the internally used sink doesn't have this property it will be ignored flags: readable, writable Boolean. Default: true text-overlay : Whether to use text-overlay flags: readable, writable Boolean. Default: true video-sink : Video sink to use (Must only be called on NULL state) flags: readable, writable Object of type "GstElement"
Signals GObject signals can be used to notify applications of events specific to this object. Note, however, that the application needs to be aware of signals and their meaning, so if you're looking for a generic way for application-element interaction, signals are probably not what you're looking for. In many cases, however, signals can be very useful. See the GObject documentation for all internals about signals.
app.asar 이라는 파일이 있어서 찾아보니 electron의 컴파일(?)된 파일이라고 한다.
압축되어 있다는데 data 파일로만 나와서 zip 등으로 풀순 없고
npx asar extract 명령을 통해서 특정 디렉토리에 풀면된다.
$ npx asar extract app.asar asarResources Need to install the following packages: asar Ok to proceed? (y) npm WARN deprecated asar@3.2.0: Please use @electron/asar moving forward. There is no API change, just a package name change npm WARN deprecated @types/minimatch@6.0.0: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
It is Electron issue, when Electron-libs don't match your system --in-process-gpuoption helps as workaround. Also--disable-gpu-sandboxor--no-sandboxoptions helps too
$ sudo ./eiq-portal [37727:0826/154023.382498:FATAL:electron_main_delegate.cc(252)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180. Trace/breakpoint trap
대개는 .run 이나 .sh 으로 만들어지는건데 머.. 리눅스에서 딱히(?) 확장자가 의미가 있는 것도 아니니 머..
$ ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin -v Unrecognized flag : -v Makeself version 2.4.0 1) Getting help or info about ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin : ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin --help Print this message ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin --info Print embedded info : title, default target directory, embedded script ... ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin --lsm Print embedded lsm entry (or no LSM) ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin --list Print the list of files in the archive ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin --check Checks integrity of the archive
2) Running ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin : ./eiq-toolkit-v1.16.0.106-1_amd64_b250703.deb.bin [options] [--] [additional arguments to embedded script] with following options (in that order) --confirm Ask before running embedded script --quiet Do not print anything except error messages --accept Accept the license --noexec Do not run embedded script --keep Do not erase target directory after running the embedded script --noprogress Do not show the progress during the decompression --nox11 Do not spawn an xterm --nochown Do not give the extracted files to the current user --nodiskspace Do not check for available disk space --target dir Extract directly to a target directory (absolute or relative) This directory may undergo recursive chown (see --nochown). --tar arg1 [arg2 ...] Access the contents of the archive through the tar command -- Following arguments will be passed to the embedded script