略)」の開発が進行中です。VCSSLのサブセットです。サイトで発表するのは今回が初めてとなります。本題に入る前に、まず前提となるVCSSLについて軽く触れておきましょう。おいて2011年より開発・公開している簡易プログラミング言語です。インストール不要でUSBメモリーなどで持ち運んでも使える事が特徴の一つです。C言語系の単純化した文法を採用しています。」といったところでしょうか。したデータ解析や可視化・計算ツールなどを、手軽にオールインワンで作ってどこでも使えるようにしたのが、現在のVCSSLです。可能な限りコンパクトにまとめたサブセットです。事に目的を絞っています。比較的複雑な手続き処理の内容を設定ファイルに記述してカスタマイズできるようにしたり、といった場面で使用する事を想定しています。現時点では、VnanoのエンジンはJava言語による実装が唯一であるため、搭載対象のソフトウェアはJava言語で記述されている事が前提となります。将来的には他言語への移植も行うかもしれません。式の値を評価(計算)する例より具体的なイメージをお伝えするため、例を挙げながら見てみましょう。)などの値を求めたい場合があったとします。javax.script)」が標準でサポートされています。簡単に文字列を各種スクリプト言語のコードとして実行する事ができます。このコードをコンパイルする際に、特別なものは一切不要です。自動的にVnanoのエンジンが検索・取得されて動作します。実行時に動的に決まる文字列でも処理できます。文といった制御構文も使用可能です。Java言語のコード側の33〜36行目で、フィールド・メソッドとして定義されているものです。14〜15行目でリフレクションを用いて、Vnanoのエンジンに接続しています。このようにエンジンに接続されたフィールド・メソッドは、Vnano側のコードから参照できるようになります。メソッドをスクリプト内から呼び出して、値を表示する事ができています。必要となる機能のみを搭載ソフトウェア側で実装・接続する設計方針さて、Vnanoでは上の例で示したように、搭載ソフトウェア側で(Java言語によって)記述したフィールドやメソッドをエンジンに接続し、スクリプト内から使用する事ができます。その代わり、デフォルトで使用できる組み込み関数や標準ライブラリのようなものは基本的にありません。これには理由があります。用途によっては逆にマイナスにもなってしまうからです。その式の中でファイルの読み書きや削除などを行う関数を呼べる必要性は全くありません。いう場合もあるはずです(極端な例としては、ネットワーク上の不特定のユーザーから式が入力される場合など)。そのソフトウェアの開発者が事前に厳選した機能のみが使用でき、想定を超えた余計な事はできないようにブロックする必要が出てきます。必要最小限の機能のみを持つ式/文の解釈・実行処理(いわゆる簡易パーサ)が自主開発されるようなケースもあるでしょう。エンジンに接続してサポートするという方針を採用しています。そこから必要に応じて、上で例示したように特定のデータや処理にアクセスする手段を追加するわけです。」のコンセプトは、もちろんエンジンの実装規模を抑えられるというメリットもあります。ソフトウェア上に搭載して使用する以上、実装のコンパクトさは、個々のソフトウェアに合わせた細かい調整や改造がしやすくなるという利点にも繋がります。VnanoはVCSSLのサブセットですが、処理エンジンは新たにゼロから設計し直したものとなります。その複雑さと実装規模が、手軽にソースコードをカスタマイズ(調整や改造)して使うような用途に適していないためです。実装規模をなるべくコンパクトにし、コード記述の複雑性も抑える事を重視したものとなっています。VCSSLからライブラリを除いたコア言語部分の仕様においても、Vnanoでは用途的にあまり必要でない機能をいくつか削減しています。複素数型などはVnanoではサポートされません。現時点ではスクリプト内での関数定義もサポートしない見込みです。用途によってはできない方が好ましい場合もあるためです。関数定義については後々の判断でオプション扱いでサポートする可能性もあります。最終的には、やはり関数定義はサポートする事になりました。正式リリース時点では、オプションで関数定義の可否を選択できるようにもなる見込みです。(なお、VCSSLも将来的にはオープンソース化を検討しており、その際は今回のVnanoのエンジンを土台として、機能を拡張していく形での開発を考えています)。実装だけでなく、クラスライブラリの仕様書やガイドのようなドキュメント類についても、同時進行で整備を進めています。性能面でも、仕様をコンパクトに抑える事は有利に働きます。Vnanoではエンジンをゼロから新開発するにあたって、VCSSLのエンジンで処理速度のネックとなっていた古い構造を改めて、頭から尻尾までを根本的に刷新する事ができました。そのため、既に現時点のベンチマークテストにおいても、Vnanoの演算速度は少なくともVCSSL比で数倍以上は見込める事が確認できています。GFLOPS(毎秒50億回)弱のスコアを確認しています。※性能は共にピーク値です。)この演算速度には、仕様の軽量化の効果だけでなく、中間コードの実行レイヤーに新たにベクトルレジスタ型の仮想マシンを採用した事も効いています。この仮想マシンでは、特に演算対象データが全てCPUの1次キャッシュ内に収まる場合のベクトル演算において、SIMD有効時に、CPUの動作クロックを上回るGFLOPSクラスの倍精度演算速度(ピーク値)を発揮可能です。スカラ演算においても、ベクトル演算とは別に最適化した処理が行われる事により、ピーク値で数百MFLOPSクラスのパフォーマンスを発揮します。この仮想マシンは元々、将来的なVCSSLの性能向上のために設計を進めてきた新しい仮想マシンで、Vnanoではそれを初めて採用しています。その子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。遅ればせながら、新年のご挨拶を申し上げます。本年もRINEARNをどうぞよろしくお願い申し上げます。RINEARNでは10月9日にソフトウェアの最新版をリリースしました。VCSSLのAPI関数の追加や、リニアングラフ3Dのアニメーションツールの追加など行っています。その概要をお知らせします。」の公式ページが、RINEARNサイト内にオープンしました。その概要をお知らせします。お知らせ一覧コードアーカイブ新着3Dグラフを回転アニメーションさせるツール3Dグラフを、Z軸まわりにゆっくりと回転アニメーションさせるツールです。全角度のグラフを、連番の画像ファイルに保存する事もできます。GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。連番ファイルから3Dグラフをアニメーション描画するツールフォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。連番ファイルから2Dグラフをアニメーション描画するツールフォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。|このウェブサイトでは、広告配信とトラフィックデータ解析にCookieを使用しています。このサイトをご利用頂くにはプライバシーポリシーをご確認ください。このサイトはRINEARNが管理・運営を行っています。サイト内に掲載されている文章・画像の著作権は、原則としてRINEARNおよびその代表に帰属します。