1年生向けのオムニバス講義「数理・データサイエンス概論」2回分の解説動画をYouTubeにアップしました。本研究室で行っている研究の一端が分かるかもしれません。
数理・データサイエンス概論「高性能計算」(1/2)
数理・データサイエンス概論「高性能計算」(2/2)
ざっくばらんな思いつき・感じたことをまとめた記事。
1年生向けのオムニバス講義「数理・データサイエンス概論」2回分の解説動画をYouTubeにアップしました。本研究室で行っている研究の一端が分かるかもしれません。
数理・データサイエンス概論「高性能計算」(1/2)
数理・データサイエンス概論「高性能計算」(2/2)
高性能計算研究に役立ちそうなCheat Sheet(カンペっぽいお役立ちメモ)をこちらにメモっておきます。飽きるかめんどくさくなるまで随時更新。
現代のコンピュータは,スマートフォンからスーパーコンピュータまで,複数の処理を同時に実行できる「並列処理」の機能を備えています。コンピュータの頭脳に当たるCPUは,複数の命令を一括して実行できるAVX2やSVEをはじめとするSIMD(Single Instruction, Multiple Data)命令が利用できるコアを複数持つマルチコアアーキテクチャが普通ですし,もっと多数のコア(メニーコア)を持つGPUはAI・深層学習では必須のハードウェアです。我々の研究室では,特に多数の桁数の計算を必要とする条件の悪い問題に対応できるよう,現代のコンピュータの並列化特性を生かした「多倍長精度数値計算」の高速化の研究に力を入れるとともに,深層学習の応用方法や,学習成果の再現性を担保するための研究を進めつつあります。
基本,全ての研究結果は,使用されたプログラムのソースコードをオープンにすることで社会に還元しており(WebとGitHub),桁数を増やして計算したい開発現場で利用されているようです。Webで公開している基本演算部分のマニュアルの翻訳などは毎日頻繁に参照されています。あまり人目に付かないところでは,スーパーコンピュータ向けの多倍長精度計算用MPIライブラリ(MPIBNCpack)は諸外国でも使用されることがあります。
すぐには理解できないことを楽しみましょう。日常生活とは異なる数学理論や概念を実感として理解するには時間がかかります。まずは「分からない」という感覚から出発し,友達,先輩,教員との議論や,プログラミングによる実装を通じて,「分からないことが分かるようになった」経験を積み重ねていって下さい。大学生活はそのための重要な「分かるためのプロセス」を体験する重要な時間になります。紋切り型のSNSとは真逆の,少しずつ理解する学問の面白さを味わって下さい。
幸谷智紀
第一部:Pythonによる方程式求解プログラミング
第二部:C/C++によるコンソール版高性能計算プログラミング
「LAPACK/BLASプログラミング」サポートページ
「多倍長精度数値計算」サポートページ
第三部:Web上でのWASM+Node.js高性能計算プログラミング
ここんとこ,急速にWebプログラミングの主役が,伝統的なサーバサイドの言語よりもJavaScriptベースのnode.jsに移ってきた感があります。Java(Servlet), PHP, C#等々,未だこれら既存のサーバサイド言語で作られたアプリケーションは現役ですから,まだまだ使用されていくのは間違いありませんが,面白いこと・新しいことをやろうとすると,JavaScriptの情報が多数引掛かかるようになってきていることは間違いありません。
私みたいな年寄だと,JavaScriptというとどうしてもクライアントサイド,要はブラウザで動く,インタラクティブな動作のサポートをするコードを書くものと考えてしまいます。しかし,HTMLがDOMの塊として捉える時代ににあり,ネイティブアプリと同様の,自在に動的なWebアプリが作れる時代で,React, Vue, Angularといったフロントエンドのフレームワークが花盛りであり,それらをベースとした,node.jsと強調できるバックエンドのフレームワークも実用になっている昨今,そういう思想は相当古いと言わざるを得ません。JITに基づく高速なV8がブラウザだけでなく,サーバサイドでも利用され,パフォーマンスも著しく改善されたことが普及した一番の理由でしょう。

ということで,伝統的に使ってきたWebプログラミングの教材も,そろそろ全面的にJavaScriptベースのものが必要だなという認識に至りました。とはいえ,文法やオブジェクトの解説だけの無味乾燥なものを作っても仕方ないので,XAMPP + node.jsの環境をWindows上に作って
なんかはどうかなと。CRUDは定番なのでいいとして,問題はWebRTC。全部やると死にそうなので,手っ取り早く,Googleの教材をお手本に勉強がてらサンプルコードの一部で遊んで見る程度のところで留める予定です。簡単なZoomもどきのアプリも,ブラウザの機能を使うだけでできちゃう時代ってのを象徴する代物ですからねぇ。
にしても,分かりやすい教材が増えたのはありがたい限りです。短い記事はともかく,重量級の
なんてのは常に参照しておりまする。
[注釈] コロナウイルス騒動のあおりで中止となった卒業式・手交式の代わりにSkype for Business上で開催されたのが「情報学部オンライン卒業式」です。詳細は本学blog記事をご覧下さい。本件はNHKローカルニュースや静岡新聞で扱って頂きました。
2019年度 静岡理工科大学 情報学部 オンライン卒業式
情報学部長 幸谷 智紀
2020年3月14日(土)
情報学部4年生の皆様,ご卒業おめでとうございます。本来のリアル卒業式では本学の体育館で2時間ほど,起立したり座ったりしながら耐え忍ぶ必要があるわけですが,本日はオンラインですので皆さん気楽な場所でお聞き頂いていることと思います。一生に一度のハレの行事がオンラインで行われるという異常事態ではありますが,せいぜい楽しんでいただければと思います。まず,このような場をご準備いただいた情報学部の諸先生方には情報学部長として感謝申し上げます。
さて,本来はここから当方の50年に渡る人生経験に基づく蘊蓄を10分程度は語るべきところ,ギガの持ちが悪い人もいるでしょうから,下記のスライドに基づいて,本日このオンライン卒業式ができるようになったインターネットの歴史を振り返り,最後に一言だけ申し上げることに致します。
本学の4年間(+αの人もいるでしょうが)の経験が,皆様の人生にどのように役立つかは分かりませんが,無為な時間も勉学の時間も等しく「楽しかった」と思える日が遠からず訪れます。年を取れば分かります。毎年皆様をお迎えする「ホームカミングデー」を大学祭期間中に設けていますので,是非,「楽しかった」日々を語るべく,訪れてみて下さい。
ご卒業おめでとうございます。今後は大学院生として社会人として頑張って下さい。
以上
今日の「応用線形代数」でコメントを求められたので,ちょっと触ってみました。URLは公開していいのか分かりませんでしたので,ここでは紹介しません。スクショも同様。
一言で言うと,1~5次元までの連立一次方程式をJavaScriptで解くWebアプリです。拡大係数行列を作って行の基本変形だけで最終結果までたどり着き,係数行列と拡大係数行列のランクをそれぞれ求め,一意解が得られない場合でも,無数の解が存在するのか,解が存在しないのかを示してくれます。「線形代数/演習」で解説した内容をしっかり把握されているようです。
欲を言うとキリがないですが,表示についてはもう少し改善の余地があるかなと。MathJax使って行列やベクトルをきれいに表示できると教材としても使えそうですね。
良くできていると思います。




















本研究室ではもっぱらスクラッチからPHPとMySQLを使ってWebアプリを作成してきましたが,ボチボチMVC(Model-View-Control)思想に基づくPHPフレームワークにも取り組む必要が出てきた感じています。スクラッチビルドも悪くないですが,正直同じ教材を毎年使うのも飽きたので更新したいという事情も手伝っています。
ということで昨年12月からCakePHPで遊んでみましたが,Tutorialは手っ取り早く勉強できてありがたいものの,作りたいWebアプリを自在に組み立てるのは思いのほか難儀で,Bakeが作った雛形から脱していない代物が多いのも頷けます。年寄なので,Visual Basicが流行った頃を思い出しますね。結局,作り込むためには地道なプログラミングをしないといかんと。
ということで本日反省がてら作ったPowerPoint資料を上げておきます。






ということで,
というところまで,今年度内に何とかしたいと考えています。ここに書いたメモを元に教材作成までできれば御の字ですね。