So-net無料ブログ作成
前の16件 | -

SIMDライブラリの行列とクォータニオン [Swiftプログラミング]

CPUが持っているベクトルユニットを陽に使うためのSIMDライブラリの一部が、Swift Standard Libraryの中に取り込まれていることをこないだ確認した。アセンブラを見ると作業量が少ない場合は、Standard Libraryにある関数を呼ぶのではなく、ベクトルユニットの命令が直接インライン展開されていることがわかる。ソースは確認してないので実際にどうなのかはわからないけど、@inlinable属性がついていてその通りのコードが出力されているということだろう。

またこのStandard Libraryとは別に
import simd
で、SIMD関連の追加がされることを知った。simdのインポートによって4次元までのベクトルと行列の基本的な演算がいろいろ可能になる。ちょっとだけ前回の追加...

続きを読む


nice!(0)  コメント(0) 

クラシック音楽館のアンスネス [クラシック]

今日のEテレのクラシック音楽館でモーツァルトのピアノ協奏曲21番をアンスネスのソロでやってた。このアンスネスはすごくよかった。ナマで聴きたかった。

よく制御されたタッチの音色がほんとに美しい。クレシェンドデクレシェンドも滑らかで毛羽立つことがない。昔、僕が子供の頃はこの曲をすごく甘い音色でやるのをよく聴いた。そういうのとは違って明晰で、なによりも気張らず偉そぶらない素直さが伝わってくる。人柄なのかもしれない。フィナーレでのオーケストラの木管楽器とのやったりとったりも全く自然で聴いていて気持ちいい。

アンコールではまさかモンポウをやるとは思わなかった。僕はモンポウが大好きで、もっと評価されていい作曲家だと思っている。モンポウは何気ない土着の歌に思いがけず普遍性が内在するような曲をたくさん書いている。このアンコールの曲のように、ほんとに何気ない短い曲ばかりで、しかもいかにもこてこてのスペイン風という感じなんだけど、どこか深いところにふと触れられるようなところがあって引き込まれてしまう。アリシア・デ・ラローチャが死んでモンポウ弾きが絶えてしまって寂しいと思っていた。アンスネスがみっちりやってくれると嬉しいんだけど。

やっぱりアンスネスはナマで聴きたいな。ずっと前からドビュッシーだったら必ず行こうと思ってたんだけど、モンポウやらないかな。それなら絶対聴きに行くのにな。
nice!(1)  コメント(2) 

SIMDがStandard Libraryに [Swiftプログラミング]

こないだSwiftの勉強で光線追跡エンジンを書き直してる話を書いた。そこでは勉強なのでベクトル行列演算もベタに自分で書いてたけど、Objective-Cで書いたやつではAccelerate frameworkを呼んでいる。よく見るとSwiftのStandard LibraryにSIMDが入っている。知らなかった。

SIMDはもともとCPUのベクトルユニット使うためのライブラリで、昔は確かAccelerate frameworkの一部だったと思う(一番最初は、懐かしいAltiVecを使い倒すために導入されたと覚えている)。整数や浮動小数点数を4つなり8つなりまとめて、ベクトルユニットが可能な演算を定義してあった。

今見ると、Accelerateからは独立してるようである。Swift Standard Libraryに入れるためにそうなったんだろうか。Metalのshaderにも構造体が流用されているようなので、その関係なんだろうか。Swift Standard LibraryのSIMDドキュメントはかなり簡素でこれだけ見てもなかなかよくわからない。たぶんAccelerateにあったやつのラッパになってるんだろうと思う。僕は昔ならいざ知らず今後SIMDを単独で積極的に使うことはあまりないとは思うんだけど、Swiftの勉強になりそうなので詳しく見てみる....

続きを読む


nice!(0)  コメント(0) 

世界はすべてアナログである [日常のあれやこれや]

今でもデジタル嫌いの人がいる。僕のまわりにもそういう人がまだいる。僕が昔、CD用の対物レンズをやっていたころ、CD嫌いの人に直接間接問わずたくさん出会った。彼らの主張の多くは簡単にいうとデジタルによる音は良くない(正確には「気に入らない」)だった。ときどき反論することもあったけど、そのとき僕はうまく説明することができなかった。

今では所詮好き嫌いの情緒的なもので、僕に直接の影響がない限りはうるさくいうつもりはまったくない。でも、ときどき出会う「デジタルとアナログの違い」といった説明には、今でも違和感を覚えることが多い。特に実際的な場面での「アナログ」と「デジタル」は次元の違うもので対比するものではない、と僕は思っている....

続きを読む


nice!(1)  コメント(0) 

またSwiftでわからないことが [Swiftプログラミング]

昔Objective-Cで書いたアプリをSwiftに書き直しながらSwiftの勉強をしょぼしょぼ続けている。でも単に逐語的に変換したのではSwiftの勉強にはならないので、Swiftらしい言い回しになるように考えながらやってる。CodeWarriorのC++からObjective-Cに切り替えるときもそうやって苦労した。そんなことしてると全然進まない。慌てることはないとは言うものの、仕事でもmacOSに書くことがある(というかソフトウェアで解決しないといけないことはよくあってそのときは僕にはmacOSしかない)ので、いつまでもObjective-Cというわけにはいかない。悩ましい。

古いのを書き直してる中でまたよくわからないことに出くわした....

続きを読む


nice!(0)  コメント(0) 

半角カナ [日常のあれやこれや]

本当にどうでもいいことなんだけど、ふとさっき思い出したこと。カタカナに必ず半角カナを使う人が今の会社にいる。僕が今の会社に移ってすぐ、彼から送られてくるメールは必ずそうなっていたので、なにかそういう設定のメーラがあるのかな、と思っていたら、そのあと彼から送られてきたぱわぽの資料の中のカタカナも半角カナになっていた。つまりそうしようと思って半角カナを使ってるとしか考えられないので、なんだかそういう趣味の人なんだ、と理解した。

ずっと昔(たぶん1995年ごろ)、Windowsが急に多くの人に使われるようになってきて、そういう人たちもメールを使うようになって、やり取りするようになったとき、文字エンコードやその他の違いによる問題のしわ寄せがunix/Macユーザに来た(当時はまだMacに寛容な会社だったが、あれよあれよと言う間にunix/Macユーザは少数派になった。ちなみに当時の社内外の有志の努力によってVAXワークステーションのユーザは1980年代後半にメールなどは使えるようになっていた。MacもLocalTalkポートを持ったSONY NEWSの一部の機種のおかげで外部とのメールなどのやりとりができた)。Windowsユーザの間では問題ないのにMacで受け取ると文字化けして読めないことがよくあった...

続きを読む


nice!(1)  コメント(0) 

Mathematica12.0 [日常のあれやこれや]

Mathmaticaのアップデートが出た。また例によって日本語版は遅れるようである(僕は日本語、別にいらないんだけど)。

なんだかまたたくさん機能追加があるようなんだけど、僕が一番待ち焦がれてたのは....

続きを読む


nice!(0)  コメント(0) 

OPIE個人的総括 [日常のあれやこれや]

OPIEがやっと終わった。準備のために連続休出して、当日も技術的な内容を説明できるのが僕しかいなかったので、三日間ずっと出突っ張りだった。

これまで(少なくとも僕から見たら)漫然と毎年似たような展示をしていたんだけど、今回はこの一年僕がやってきた実験系をそのままデモにして前面に押し出した。デモは大きく2種類、原理は全く同じでざっくり言うと1次元版と2次元版という感じ。その原理がわかりやすいように説明用のパネルを1枚作って(日曜にIllustratorでいかにもな感じで描いて、レーザプリンタで光沢紙に出力して、ダイソーで買った粘着テープつきのスチレンボードに苦労して貼った。〇〇工藝社ほど手際はよくないけど近いものができたと思っている)、目で確認できるようにキモになる素子を脱着可能にした(出し入れで特性が全く違うことが直感的にわかる)。

さらにアイキャッチのためにレーザの光の通り道を示すLEDの電飾を作った(透明アクリル板に穴を開けて例のLEDを44個並べた。めちゃ大変だった。これは〇〇工藝社より劇的に安価にできたはずである。〇〇工藝社さん、室内でのフルカラー電飾が必要な時はぜひお声がけを)。レーザドライバなどの半田付け基板とそれを制御するためのRaspberry Piはスモークアクリルの板でぴったりサイズの箱を作って被せた。会社の連中は僕の作業を見て「なにやってんだ?」「好きでやってるんだからほっとけ」みたいな反応だった。僕にはその無関心がかえってありがたかった。

当日3日間張り付いていたが、まず電飾に目を止める人が多かった。アイキャッチとしてはそれなりに意味があった。でもその先、そもそも何をやってるのかパッと見てわからなくて説明のチャンスを僕に与えることなくスルーする人がほとんどだった。

それでも3日間で合計10人ほどの人が僕の説明を聞いて「面白い」と言ってくれた。説明した原理には半信半疑でも、キモ素子の脱着でそれが所望の機能を果たしていることがわかって納得してくれた。そう言う反応をしてくれた人は、結局は全員が光学関連の仕事をしていて、しかも回折素子設計なんかをしている人が多かった。ある人は「これは面白い」と言ってそのあと知り合いの光学屋さんを連れてきてくれたりした。その節はありがとうございました。

残念ながら「面白い」と言ってくれた人たちも「でも何に使うの?」「うちではあまり関係ないなあ」と言った感じで、即ビジネス、というわけにはいかなそうだった。まあそんなに甘くはないわな。

めちゃめちゃ疲れたけど、専門家からの反応をもらうのはなかなか楽しかった。このデモをこのままブラシュアップして6月ミュンヘンのLaser world of Photonicsに持って行こうと思っている。今いる会社はここにも毎回(展示会は2年に1回)出しているのに、ただ製品とパネルを並べただけの漫然としたものなので、やめりゃいいのに、と密かに思っていた。2年前は僕の小さな製品デモを展示したけど、パッとしなくて完全スルーだった。

ミュンヘンの展示会でヨーロッパの専門家に面白がってくれる人がいないか探すことにする。それと、専門家へのアピールというとやっぱりペーパ(論文)にするのがいいという気がしてきた。今の会社ではやったことがないらしいので敷居が高そう(前の会社では論文投稿の手間は簡単だったんだけど、そこに行くまでに情報公開に対するメリットを示せないとなかなかOKが出なかった。その結果ボツ論文がフルへヘンドすることになった)ではあるんだけど、やるんなら早いほうがいいよな。でも、そんなヒマがあったら客を探せ、と言われるんだろうな。

でも本当に疲れた。気をつけてたんだけど立ちっぱなしで腰にもかなり来てる。ちょうど連休なのでゆっくり養生することにする。もう歳だし。
nice!(1)  コメント(0) 

読売日響定期「フラングのストラヴィンスキー」 [クラシック]

読響の第587回定期を聴きに行った。何目当てかと言うとヴァイオリンのヴィルデ・フラング
0417frang.jpg
いろんなところのオーケストラや放送局がネットで公開しているコンサート録音を聴いていて、若手なのにすごくはっきりした太い音で押しが強いように聴こえた。おそらくゴツイおっさんだろうと勝手な先入観を抱いていたんだけど、あとになってCDのジャケ写なんかで可愛いお姉さんだと知ってびっくりした。見た目と音が全然違うやん、下ぶくれだけど(関係ない)。

これは生を聴いてみたい、とずっと思っていたら、女房がチケットとるけど行くか?なんて言ったので二つ返事で決めた(ピアノとのコンサートもあってそっちのほうがキャラがわかりやすくてよかったんだけど、メインがブラームスのソナタだったので残念だけど諦めた。ブラームスは寝るし)。でもストラヴィンスキーなんだよなあ。ストラヴィンスキーのヴァイオリンコンチェルトって何度聴いても頭に残らないって言うか、ストラヴィンスキーらしいところはあるんだけどどうもぼやけてるって言うか、ちまちましとらんとしゃんとせいや、と言いたくなるような曲だと思っていた。ストラヴィンスキーにはときどき、いや結構そう言う曲があると僕には思える。

そのちまちま協奏曲を、こわもて(もちろん音が)フラングがどうやるのか、というのが楽しみだった....

続きを読む


nice!(1)  コメント(0) 

デモ準備 [日常のあれやこれや]

去年のまる一年かけて原理確認用の試作をして、僕の計算がウソではないことがわかった。こんどはその実験光学系をそのままデモ用に仕立てて、今度のパシフィコでやる展示会OPIEに出そうとしてる。もうあと十日しかない。ほんとうに今追い込みで、日曜なのに今日も出社して作業してた。さすがに静かではかどった。

同じ原理でふたつのデモを予定している。また例によって手作り感満載のものになってしまってる。専用に作ったのはたったひとつ、キモになる素子だけで、それ以外は全部シグマ光機やThorlabsの汎用部品で組んで、MacとRaspberry Piにソフトを書いて、説明パネルやキャプションもプリントアウトした紙を僕がパウチっこしてる。

やっぱりその手作り感があまりミットモ良くないと思う人はいて、僕に面と向かっては言わないけど、ほかのやつに「これではちょっとダサいよなぁ」なんて共感を引き出そうとしたりする。でももう遅い。せいぜい基板むき出しのRaspberry Piを百円ショップで買ったプラケースに入れるぐらいのことしかできない。

今日集中的に作業して、ただカメラ画像を見せるだけではなく、そこからいくつかの評価数値を計算して表示できるようになった。これで基本的なところはできたと言える。実は昨日までは間に合うかとヒヤヒヤしてた。僕はこれ、面白いと思うんだけど、他に面白いと思ってくれる人がいるかなあ。もちろん商売に結びつくのが一番いいんだけど、ただスルーされるだけ、というのがありえて、それでは悲しいもんな。せめてちょっとだけでも「なんだこれ?」みたいな反応があるといいなあ。



ところで、これを読んでて展示会に出かける予定の人にお願いがあります。リアルの僕のことを「こいつがdecafishでこんなブログを書いてる」とバラさないでください。「decafish」とリアルの名前で共通集合エゴサーチするとヒット0件という状態をいまでも維持しているので。

ここまで好き勝手に書いといて何をいまさら、というご意見もおありでしょうが、ご斟酌のほどを。


nice!(1)  コメント(2) 

毎年花粉症に悩まされる [日常のあれやこれや]

随分前から花粉症に悩まされている。30代中頃にはもう発症していたので30年近くになる。鼻はいつもほとんど詰まってしまって、ほっとくと知らない間にすぐ低粘度の鼻水が口から顎へと伝ってしまう。マスクをするととっさに鼻がかめないのでできない。マスクをしてマシになる人が羨ましい。電車の中でポケットティシュを使い切ってハンカチをびしゃびしゃにすることもある。寝てる時にも息ができなくなるので寝られなくなる。特にひどいときは顔じゅうの皮膚が日焼け後のように毛羽立って、見た目にも悲惨な状態になる。非常に辛い。そうやって毎年2月終わり頃から5月初めまで苦しめられる。今年もまだ続いているが....

続きを読む


nice!(1)  コメント(6) 

納得いかねーな [日常のあれやこれや]

さっきの「チコちゃんに叱られる!」の再放送を見てたら「夜はなぜ暗い?」という話があった。いわゆる「オルバースのパラドクス」である。その答えが「宇宙に果てがあるから」というものだった。そういう言い方では僕はちょっとひっかかるな、と思った....

続きを読む


nice!(1)  コメント(0) 

kernel4.19でのsysfs [Raspberry Pi]

先日、rpi-updateでRaspbianのkernelが4.14から4.19にアップデートされた。rpi-updateを起動するとこんな警告が出る。
#############################################################
WARNING: This update bumps to rpi-4.19.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=224931
##############################################################
Would you like to proceed? (y/N)
いいかと聞かれてもこの時点で判断のしようがないので「y」を入力することになる。このままいくと「4.19.30-v7+」とかになる。

ところがこれで動かなくなるのが出た。sysfs経由でgpioのBCM3を監視して変化があったら(具体的にはプッシュボタン長押し)シャットダウンするようにsystemdのサービスとして書いたのが
sh: echo: I/O error
で動かない。どこが問題かというと
    system("echo both > /sys/class/gpio/gpio3/edge");
が失敗している。system()はCユーティリティ関数で、processをforkしてshを起動して引数文字列をshのコマンドとして実行するというもの。stdlib.hにプロトタイプがあって、ランタイムの一部になっている。シンプルなんだけどシグナルや入出力の処理をちゃんとしてくれるので、僕はしょっちゅう使っている。

このコードはGPIOのBCM3ピンに変化があったら知らせてもらう、というもの。edgeファイルにraising、falling、bothを書き込むと、その変化があるとファイルシステム経由で検出できる。

ところが、edgeが書き換わらずに「none」のまま
$ uname -a
Linux vega 4.19.23+ #1203 Tue Feb 19 23:10:40 GMT 2019 armv6l GNU/Linux
$ cat /sys/class/gpio/gpio3/edge 
none
$  
になってしまう。他の単純なGPIOの読み書きは問題なさそうで、このedgeだけがうまくいかない。またsystem()ではなく、普通にedgeファイルをopen()してwrite()しても書き変わらない。

その前のkernelだと同じコードが動いて
$ uname -a
Linux sirius 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux
$ cat /sys/class/gpio/gpio3/edge 
both
とちゃんと書き換わってる。rpi-updateの警告にあるurlを見てもそれらしい情報がない。ググってもこれだという情報に行きあたらない。

僕はこれが動かないと非常に困る、というようなものではないけど、少し不便なのと、せっかく書いたのが動かなくなるのはやっぱり面白くない。

誰かご存知ありませんか?
nice!(0)  コメント(0) 

また1日無駄にした [Raspberry Pi]

こないだのHiLetgoの降圧型DC-DCコンバータの電流源への改造が思っていたよりうまくいって、あのあともずっとDPSSレーザは機嫌よく動いているので、同じ伝(デン)でちょっとしたデモ用の電流源を追加作製しようと思った。ほぼ同じものを作るつもりであまり考えずにサクっとやろうと思った。ところがそこに落とし穴があって、丸一日無駄にすることになった。これを読んでくれてる人の反面教師として詳細を書くことにする....

続きを読む


nice!(0)  コメント(0) 

「火星の遺跡」読了 [読書]

ジェイムズ・P・ホーガン著、内田昌之訳、創元SF文庫。
0302mars.jpg
ここに書こうかどうしようか迷った。はっきり言えばホーガンとは思えない「カス」である。なら書かなきゃいいのに、と言われるかもしれないけど、僕は雑誌の提灯記事みたいなのは書きたくないのであえて書くことにする。それと一言、刺さった話があったので....

続きを読む


nice!(0)  コメント(0) 

最近のニュースで [日常のあれやこれや]

ここでは、僕がどうした、僕はどうしたい、という話しか書かないようにしようと思っている。だから他所の人が何しようと関係ないんだけど、技術屋としてちょっと思うことがあって、去年からニュースで毎日のように聴く日産のゴーンについて。ほんとだったら去年の逮捕前に書くべきで、いかにも後出しジャンケンぽいんだけど....

続きを読む


nice!(2)  コメント(0) 
前の16件 | -