2022/2/23(水)

今日もやるべきことができなかった。やるべきことに取り組めないという精神的な疲れのせいか、生活習慣までぐだぐだになってしまう。今日は筋トレと鬼トレを忘れかけた。

特に午後はぐったりしてしまう。午前の時間は競プロとVulkanの記事執筆に取っている。午前の方が集中できるのでこの時間をやるべきことに充てるべきな気はするが、せっかくルーティーンとして保っている部分を壊してしまうと、ますます大変なことになってしまいそうで怖い。

午後に死ぬなら無理やり午前を延ばすしかない。久しぶりに寝る時間を後ろから削るやつやるか。


競プロの埋めを進めた。今は茶diff帯だが既に虚無埋めとは言えない状況になっている。ARCの茶diffはABCの緑~水diffくらいあると思う。典型アルゴリズム暗記コンテストとアドホック考察力コンテストで比べられるものではないが。

ARC125-Aはかなり悩んだが、制約ちゃんと見たらギャグだった。ギャグじゃないのに茶diffなわけないんだよな。ちなみにギャグと気づいたのに1WAした。やはり出来ることなら下手な場合分けなどせず、愚直な方法に近い実装の方がバグらせにくいな。

ARC121-Aも大分悩んで、実装に苦労した。愚直なやり方だとTLEするが、美しいやり方で一発というほど性質がいいわけでもないので、必要な一部のデータだけ取り出してそいつらだけ使って全探索というパターン。データの持ち方が下手で実装に苦労した。自力ACはしたが、解説でより良い実装を学んた。


Vulkanの記事執筆を進めた。スワップチェーンの話の続きを書くべきなのだがだるすぎるので、パイプラインのことなどの補講を書いていた。補講で最優先なのはフェンスとセマフォあたりかなあ。


Vulkanは動画のハードウェアエンコード・デコードをAPIとしてはサポートしているらしい(もちろん使えるかどうかはGPUによる)ということを前に知ったので、intelのCPU内蔵GPUでは出来ないのかと色々調べてみた。

公式リファレンスを参考に試してみたところ、動画エンコードのための拡張機能を有効化しようとすると普通にエラーで落ちる。前準備が不十分なのではないかと思ったが、どうやら間違いなくダメということが分かった。

Vulkanの拡張機能には依存関係というものがあるらしい。ある拡張機能を有効にするためには別の拡張機能の有効化が必須になることがある。

VK_KHR_video_queueという拡張を有効化すればハードウェアエンコード・デコードが出来るのだが、こいつはVK_KHR_sampler_ycbcr_conversionという拡張に依存している。そして手元のintel HD Graphicsはこいつに対応していないようだった。

intel HD Graphicsはハードウェアエンコード/デコードの機能自体は持っている。QSVというらしい。しかしこいつはVulkanからの利用に今のところ対応していないようだ。残念。こいつを利用するにはMediaSDKというintel謹製のSDKが必要になるらしい。

結果としては残念な内容だったが、どこにも入門サイトのない機能の調査を公式ドキュメントだけで進められたので少し達成感があった。


遠藤寛子「算法少女」を読了した。かなりすいすい読めてとても面白かった。

数学の面白さに注目する人間と実用性に注目する人間の双方が居るのがちょっと面白かった。町人の風俗みたいなのもかなりしっかり描写されている感じがする点も良い。数学(算法)というものに対して、今と全く違う社会的イメージを持っている人々の姿が描かれる中で、今と全く同じような魅力を感じている人間がやはり居るところが痛快。

ところで物語の本筋とは関係ないが、あきとうたの対決で解かれた問題の答えが手元の計算と合わない…そもそも図を文章だけで説明しているので正しい図が書けているのかどうかも良く分からない。


今日見たコンテンツ。

ものすごい密度だった。VkAllocateMemoryで確保されるメモリは全てGPUのメモリだと思っていたのだけど、メインメモリの場合もあるのね。

Categories: