タグ

演算に関するmohnoのブックマーク (3)

  • やはり予想を超えてこなかったGPT-4と、GPUの未来、ホビイストへの手紙

    やはり予想を超えてこなかったGPT-4と、GPUの未来、ホビイストへの手紙 2023.03.16 Updated by Ryo Shimizu on March 16, 2023, 08:00 am JST 3月14日の早朝、GPT-4が公開され、筆者は早速試した。 その後、開けて3月15日の早朝、APIも部分的に解放され、筆者はそれも試した。 その上で、先週書いた記事の内容についての確信が深まった。 やはり、GPT-4は期待を超えてはこなかった。 GPT-4は、ChatGPT Plusに入会すると誰でもすぐに使うことができる。APIだけは招待制だが、それも筆者と同じくらいのタイミングでアンロックされた方も少なくないのではないか。 100倍規模のパラメータがあっても、アプローチには限界があるのである。 また、ChatGPTが注目を集めたことで、これまで下火になっていた他の大規模言語モデル(

    やはり予想を超えてこなかったGPT-4と、GPUの未来、ホビイストへの手紙
    mohno
    mohno 2023/03/17
    「こうしたアーキテクチャを採用することは、コンピュータグラフィックスを諦めることになる」←それで威力が発揮できるなら喜んで別ラインにする気はしないでもない。/GoogleのTPUはどうなっているのか知らないが。
  • 2で割ることと3で割ること - Qiita

    この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除

    2で割ることと3で割ること - Qiita
    mohno
    mohno 2020/12/09
    「頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます」←“人の役割は終わった”と思ったよ。「除算は圧倒的に遅い」←最近はそうでもないのか。「Cannonlake世代からidivは高速化された」
  • ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita

    // gcc-10 -march=armv8.3-a arm-jcvt.c という風にコンパイル #include <stdio.h> #include <math.h> #include <inttypes.h> #include <arm_acle.h> // Prototype: // int32_t __jcvt(double); #if defined(__GNUC__) __attribute__((noinline)) #endif int32_t cast_double_to_i32(double x) { return (int32_t)x; } int main(void) { printf("(int32_t)(-2.8) = %" PRId32 "\n", cast_double_to_i32(-2.8)); printf("(int32_t)1.99 = %" P

    ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita
    mohno
    mohno 2020/11/30
    「ArmにあるというJavaScript専用命令」←ナニソレ?と思ったら「Armv8.3に FJCVTZS という命令を導入しました。命令名の J はJavaScriptのJです」←マジか。
  • 1