1

LAPACKライブラリと通信しようとして.netいるので、DBMS の外部で処理を行うことができます。

send/receiveマトリックスをバイナリとして、またはそれらを処理するためのダイレクト メモリ ポインターとして完成させることは可能ですか? 主な目的は速度であり、フラット ファイルを通過しないようにします。

  • Oracle, SQL Server, MySQLこの技術をサポートすることは可能ですか?.
  • ライブラリについてはどうですか、バイナリなどを、またはLAPACKにエクスポートできますか? (生メモリ ポインタまたはバイナリを介してすべて).netc#
4

3 に答える 3

2

私は一度も使用したことがありませんが、Oracle のパッケージUTL_NLAは、1 つの VARRAY に最大 100 万エントリのマトリックスを格納できるとされており、これを他のシステムに比較的簡単に渡すことができます。

ドキュメントから: 「UTL_NLA パッケージは、VARRAY として表されるベクトルと行列に対する BLAS および LAPACK (バージョン 3.0) 操作のサブセットを公開します。」

于 2011-03-18T07:40:53.520 に答える
1

「巨大」ってどのくらい?

バイナリ データを BLOB として格納できます。画像、オーディオ、ビデオ、ドキュメントに使用できます。lapack に適した「ネイティブ」形式があるかどうかはわかりません。

データはディスクから取得されるため、メモリ アドレスを指定することはできません。また、Oracle がデータをプロセス メモリまたは共有メモリに配置するかどうかは保証されません。いずれにしても、いつでもそのメモリを再利用するか、別のもので上書きする可能性があります。

C#/.Net について話している場合は、Windows について話している可能性があります。Windows では、とにかく異なるプロセス間でメモリを共有することは実際には許可されていません。もちろん、Oracle サーバーが .Net とは別のマシンにある場合、リモート マシンからメモリにアクセスすることはできません。

于 2011-03-18T04:50:37.307 に答える