問題タブ [yeppp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Yeppp! のセグメンテーション違反! API呼び出し
正直なところ、Yeppp! のようなライブラリを使用するのは初めてです。つまり、動的なランタイム選択を備えた SIMD ライブラリを意味します。最終的に、ライブラリは、実行されるプラットフォームやハードウェアに関係なく、最適な SIMD アセンブリ コードを選択することになっています。
これは私のプロジェクトで使用するのに最適なツールのように思えましたが、タイトルが示すように、Yeppp! とは言えません。セグメンテーション違反が発生することなく機能します。私が得たデバッグ情報もあまり役に立ちません。
私のシステム構成は次のとおりです。
CPUなどを記載しておくと、Yeppp!のやり方が重要かもしれません。問題の可能性がある正しいランタイムを選択します。
以下は、他の Yeppp! も試しましたが、私が使用している簡単なテスト コードです。さまざまなデータ型の関数、それはすべて同じセグメンテーション違反でした。32 や 64 などのさまざまなアライメントも試しましたが、それが問題であるとは思えません。
私はそれを特別なフラグなどでコンパイルしていないので、-m32や64はありません.Cでも同じことを試しましたが、同じ結果と基本的に同じアセンブリでしたので、言語ではありません.
Yeppp! で提供される Linux x86_64 libyeppp.so バイナリにリンクします。私は 64 ビット プラットフォームを実行しており、GCC が受け入れる唯一のディストリビューションであるためです。
呼び出しの分解は次のとおりです。
これはかなり標準的に見えます。ただし、関数にステップインすると、次のようになります。
次に、jmp 0x4013d0
そのGDBを実行した後、にいくつかの指示を進めます
次に、次の命令があり、NULL で実行しようとしないと仮定すると、セグメンテーション違反が発生します。それは私が得ることができた限りです。数回微調整した後、../sysdeps/x86_64/dl-trampoline.S
見つからなかったファイルを開こうとします。
Yeppp! それ自体が故障しています。Yeppp! の 1.0 リリース以来、ライブラリが作成されてから数日しか経っていないため、同様の問題や問題を抱えている人をまったく見つけることができませんでした。
PS: プログラミングについて公に質問したのはこれが久しぶりなので、これを解決するためにさらに情報が必要な場合は、喜んで提供します。
math - うん!配列の積和演算をサポート
イェップ!数学ライブラリは、2 つのベクトルの加算、減算、乗算などの基本的なベクトル演算をサポートしているようです。
一般的なベクトル演算は積和であり、ベクトル A の各要素 a は、ベクトル B の各要素 b と何らかのスカラー c によって変換されます。
a = a + c*b
http://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_operation
これはサポートされていますか?
c++ - Yepppでパフォーマンス!ネイティブ実装より遅い
こんにちは、Yeppp を使用してコード内のベクトル代数のパフォーマンスを改善しようとしています! ライブラリですが、パフォーマンスは実際には悪化しています...これはVectorクラスのコードの一部です:
g++ コンパイラを使用しています。コンパイラ オプション: g++ -Wall -fexceptions -fPIC -Wl,--no-as-needed -std=c++11 -pthread -ggdb リンカー オプション: g++ -shared -lpthread -lyeppp -ldl
それで、私は何が間違っているのですか?
c# - Raspbery Pi で Mono を使用して Yeppp ライブラリを実行する
Yeppp! を使用したアプリケーションがあります。SIMD ライブラリ。アプリケーションは C# で記述されています。Windows x86-32 および x86-64 で完全に動作します。ただし、Mono を使用して Raspberry Pi でアプリケーションを実行すると、次の例外が発生します (ARM の問題なのか、Mono の問題なのか、それ以外の問題なのかわかりません)。確認するためだけにルートとして実行しようとしましたが、同じ例外もあります。スタック トレースの「UnixLibraryLoader」の部分に気付いたので、Yeppp DLL (Yeppp.CLR.Bundle.dll) が実行可能ファイルと同じディレクトリにあることを確認しました。これは私のコードの問題ですか、それをコンパイルした方法ですか、それともライブラリの問題ですか?
yeppp - Yeppp は big.LITTLE やリビジョンなどの検索をサポートしていますか
Yeppp は次の情報を見つけることをサポートしていますか?
- SoC 名
- CPU の数 (Exynos 5410 のように)
- 合計コア数
- ビッグリトル
- リビジョン
- プロセス
- 現在の CPU 負荷
- 最大および最小クロック速度
- 現在のクロック速度
- GPU レンダラー
- GPU ベンダー
はいの場合、方法を教えてください。ドキュメントを読みましたが、これらの情報が見つかりませんでした。