風邪をひいて、昨日はダウンしてしまいました。

今日も体調悪く働いています。

まず前半は、プログラムの話。

ここ最近、勉強しはじめたAVXの話。

■AVX2の特徴

■実際にやってみた
サンプルコードを作ってみました。

サンプルコードは、AVXのさわりということでベクトル計算の加算で確認
使ってのは、以下の関数
_mm256_set_epi32
_mm256_add_epi32

32bitの整数値の加算のコードを作成
実行結果自体は、単純なもの

まぁ、1,000万回しても軽く動きます。
そして、実際にCからアセンブラにして実際に使用されている命令がどうなっているか確認

vmovd
vpinsrd
vpunpcklqdq
vinserti128

32bitの整数していでしたが、64bitのfloatを使用している?
ちなみに、gcc11を使用してコンパイルをかけています。
さて、この結果を、師匠の師匠(みたいな人)にこの結果の話をしたところ、「a.outも確認してみたら?」っとのことでったので、
a.outを逆アセンブラしてみました。

x87演算?
AVXはどこに?

逆アセンブルの結果をみるとCからアセンブラに変えた命令内容と違うぞ?
これを、リアルの話で例えると、

巨乳だと思って付き合っていた人が、外部(ブラジャ)の力を使い実は、巨乳ではなかった。

ということになります。
確かに、そこに(機能として)オパーイはあるけど、私の(求めていた)オパーイがないわけです。
結果は、一緒なのですが、これはアカンっと思います。
離婚問題勃発になるわけです。

分かった時は、今まで書いたコードが、自分の意図してないものになっていたのではと、アキバでホッピー飲みながらクダを巻きちらし、夜中には嘔吐するという精神的ショックを受けたわけです。

・・・さて、1日色々と考え、(gccと)対話したところ、これは私とgccとのすれ違いであったことがわかりました。

端的に言うと、以下の内容がわかるかった

  1. a.outでAVXで利用していない理由は、最適化オプション(-02)を利用していたから
  2. サンプルコードで利用している値が、固定値だったから

ということです。
これで、離婚は解消されました。
まだ、clangに完全乗り換えではなく、gccも利用できます。

実際にそれぞれ逆アセンブルした内容を掲示します。
まずは、サンプルコードを改造

改造の点は、2つ

  1. 計算する値を、固定値ではなくrand()を利用(元々演算結果が、あっているかどうかを確認していたので、今回は検証せず単純にコードと速度を確認)
  2. 最適化オプション(-02)を外す

上記の結果したところ、面白い結果になりました。

うむ。処理数が大幅にアップしましましたが、AVXを利用しているのを確認

で、実際に実行してみると

うん、rand()を利用したとは言え、各段に遅くなっています。

では、最適化オプションを利用してみます

うん。今度は、最適化オプションを利用してもAVXが利用されている

若干?気持ち?早くなった?って程度ですね。

今回は、サンプルで実施してみましたが、実際に目的をもって記載する場合は、オプション等々も考慮して書いていこうと思います

っと、ここまでがプログラムの話、次は、懐古厨の話

第4話「いいんだよ!」

ちゃんと聞くと、立木さんのように聞こえる。(初回は、福島さんの声で聞こえました)

前回、守くんが会社を飛び出して、「タイムトラベラーならば、干渉するな」的な発言をされて終了しましたが、彼女アホなのか結構色々と今回もやらかしました

一応、この時は、守くんの言葉を守り、未来の物(自分の絵)のことを、ごまかしましたが、

ここ(じゃんがら)であっさり暴露。この時代、タペストリーと言っても分からないだろうけど、おまけのラインナップが、もう「美少女」じゃねぇだろっという。まぁ、こんかいのBDもある意味、特典(カバーソング)につられた所があるので、「おまけ」大事だとは思います。

次回、コノハのエロゲーコレクションの変化が気になります。

しかし、外でガッツリ寝れるのを見ていると、ポジティブおばけすぎますね。どんな修羅場も潜り抜けられそう。

今回は、AT互換機と国民機がでてました。

どちらも刻印がありませんが、外で設置されたのは、32bit?国民機でしょうか。

左側は、NXでしょうか。今でもWindowsがいいとは、まったく思えませんが、絵描きの人たちには、色数が増えるのはうれしいのでしょうね。

たぶん、このシーンで、「Windowsは、音がいい」という印象を付けようとしているかと思いますが、そもそもBeepと普通のサウンドドライバを使ってスピーカ(アンプつき)からでた音に違いがあるのは当たり前で同じ土俵にするのは、どうかと。ハーレムブレードのOPも良い音でしたよ。

あと、ココですごいのが、98で音声を作っているのですが、ディスクが入ってない所と、黒コードが3本(1本は電源、1本はモニタケーブルとして、1本が不明)からN88(ROM)からBeepで、音声(もどき)を出していると想定されます。すごいっすよ、守くん

そして、極めつけの守くんのすごさ。

守くん、98のエロゲー及び趣味のコードは、MS-DOSでアセンブラで書いていましたが、WindowsだとVCを使っている。

アレだけ渋っりぐわいでしたが、プログラマの性で、勉強していたというこだと思いますが、マルチプロセス、オブジェクト指向等々色々と変わった中で、短期間に商品になるものが作成できるのは鬼っすね。私も熟練した今なら構造化プログラムとオブジェクトプログラムを同時に作ることはできますが、昔のこの時点ではできないっすよ。

あと、タブレットの電源周り。

絵からすと、タイプAかな?弱電もできて、おそろしい。

次は、1999年に移動するのでしょうか。

今回の写真、今後未来に行ったら、バックトゥザフューチャーみたく、自分やアルコールソフトのメンバーの下半身が消えていったりすでしょうか。

そろそろこのあたりの時間転移に関わっていそうな人たちの露出があるのでしょうか。

男性は、杉田さんっすかね?