2023年9月22日金曜日

巨大な数字の計算

巨大な数字の計算に興味があったので、ググってみたらこちらに

たどり着きました。

あとでじっくり読んでみよ。


https://qiita.com/square1001/items/1aa12e04934b6e749962

2023年9月10日日曜日

CUDA 1

やりたいこと
CUDAでプログラミングして、高速な処理ができたらいいなと思い、CUDAに入門することにしました。
そのメモになります。
環境
OS : Windows11 22H2
IDE : Visual Studio 2019
GPU : GTX1660 super
CUDA : cuda_12.2.2_537.13_windows
0.参考資料
こちらのサイトを参考にCUDAのトライアルをすすめました。
https://developer.nvidia.com/how-to-cuda-c-cpp
CUDA Toolkitのページ → Training → C/C++ using CUDA C をたどりました。
基本的にはここの動画を参考に進めていくことにしました。
1.ダウンロード
こちらからダウンロードしました。
https://developer.nvidia.com/cuda-toolkit
2.サンプルを起動するまで
ここからサンプルをダウンロードしました。
トライアルの動画だと、toolkitをダウンロードすると勝手にサンプルも入ることになってますが、
どこかのバージョンからtoolkitには同梱されなくなったそうなので、こちらからダウンロードする必要がありました。
https://github.com/nvidia/cuda-samples



ダウンロードしたファイルの中のmatrixMulというものを実行する。
参考にした動画でmatrixMulを実行していたので、そうしました。



実行結果


succesと表示され、成功しました。
ひきつづき、2個目の動画もみてみます。

2023年9月3日日曜日

C# Parallel 入門 2

やりたいこと
以前の記事がこちらになります。
C# Parallel 入門

前回の方法では、for文の中の計算結果を足し合わせるということをしていたのですが、
もう少し複雑なことがしたくなりました。

1からNまで順番に数字を調べていって、それが目当ての数字だったら、
Listに登録することが目的です。

コード
// 並列化
object obj = new object();
Parallel.For>(1, endNum, () => new List(), (Int64 num, ParallelLoopState state, List partial) =>
{
    // もとめたい数字がきたらListに登録する
    if (num == XXX)
    {
        partial.Add(num);
    }

    return partial;
},
    partial =>
    {

        foreach (var val in partial)
        {
            lock (obj) motometeruList.Add(val);
        }
    });

コードの説明
結果
for文でループさせる回数や中身の計算にもよると思いますが、
自分がやりたかった計算では、「40000000」までループさせる計算で、
Parallel使う前は1500秒だったものが、Parallelに変更すると、
300秒ぐらいで終わるようになりました。

2023年3月24日金曜日

アイキャッチ画像のめも

何を使って作ってたか忘れがちなので、メモしておきます。

Canvaを使ってます。

 https://www.canva.com/

2023年2月22日水曜日

Enumchar V3.2.1.0 リリース

EnumChar V3.2.1.0をリリースしました。
http://www.vector.co.jp/soft/winnt/writing/se483244.html
変更点
[機能追加]Unicode領域を追加
[機能追加]空白文字を除外するチェックボックス追加
新規に追加したコード領域
{"U+0870", "U+089F", "Arabic Extended-B"}, // 2023.02.11 add
{"U+1C90", "U+1CBF", "Georgian Extended"}, // 2023.02.11 add
{"U+10570", "U+105BF", "Vithkuqi"}, // 2023.02.11 add
{"U+10780", "U+107BF", "Latin Extended-F"}, // 2023.02.11 add
{"U+10D00", "U+10D3F", "Hanifi Rohingya"}, // 2023.02.11 add
{"U+10E80", "U+10EBF", "Yezidi"}, // 2023.02.11 add
{"U+10EC0", "U+10EFF", "Arabic Extended-C"}, // 2023.02.11 add
{"U+10F00", "U+10F2F", "Old Sogdian"}, // 2023.02.11 add
{"U+10F30", "U+10F6F", "Sogdian"}, // 2023.02.11 add
{"U+10F70", "U+10FAF", "Old Uyghur"}, // 2023.02.11 add
{"U+10FB0", "U+10FDF", "Chorasmian"}, // 2023.02.11 add
{"U+10FE0", "U+10FFF", "Elymaic"}, // 2023.02.11 add
{"U+11800", "U+1184F", "Dogra"}, // 2023.02.11 add
{"U+11900", "U+1195F", "Dives Akuru"}, // 2023.02.11 add
{"U+119A0", "U+119FF", "Nandinagari"}, // 2023.02.11 add
{"U+11AB0", "U+11ABF", "Unified Canadian Aboriginal Syllabics Extended-A"}, // 2023.02.11 add
{"U+11B00", "U+11B5F", "Devanagari Extended-A"}, // 2023.02.11 add
{"U+11D60", "U+11DAF", "Gunjala Gondi"}, // 2023.02.11 add
{"U+11EE0", "U+11EFF", "Makasar"}, // 2023.02.11 add
{"U+11F00", "U+11F5F", "Kawi"}, // 2023.02.11 add
{"U+11FB0", "U+11FBF", "Lisu Supplement"}, // 2023.02.11 add
{"U+11FC0", "U+11FFF", "Tamil Supplement"}, // 2023.02.11 add
{"U+12F90", "U+12FFF", "Cypro-Minoan"}, // 2023.02.11 add
{"U+13430", "U+1345F", "Egyptian Hieroglyph Format Controls"}, // 2023.02.11 add
{"U+16A70", "U+16ACF", "Tangsa"}, // 2023.02.11 add
{"U+16E40", "U+16E9F", "Medefaidrin"}, // 2023.02.11 add
{"U+18B00", "U+18CFF", "Khitan Small Script"}, // 2023.02.11 add
{"U+18D00", "U+18D7F", "Tangut Supplement"}, // 2023.02.11 add
{"U+1AFF0", "U+1AFFF", "Kana Extended-B"}, // 2023.02.11 add
{"U+1B130", "U+1B16F", "Small Kana Extension"}, // 2023.02.11 add
{"U+1CF00", "U+1CFCF", "Znamenny Musical Notation"}, // 2023.02.11 add
{"U+1D2C0", "U+1D2DF", "Kaktovik Numerals"}, // 2023.02.11 add
{"U+1D2E0", "U+1D2FF", "Mayan Numerals"}, // 2023.02.11 add
{"U+1DF00", "U+1DFFF", "Latin Extended-G"}, // 2023.02.11 add
{"U+1E030", "U+1E08F", "Cyrillic Extended-D"}, // 2023.02.11 add
{"U+1E100", "U+1E14F", "Nyiakeng Puachue Hmong"}, // 2023.02.11 add
{"U+1E290", "U+1E2BF", "Toto"}, // 2023.02.11 add
{"U+1E2C0", "U+1E2FF", "Wancho"}, // 2023.02.11 add
{"U+1E4D0", "U+1E4FF", "Nag Mundari"}, // 2023.02.11 add
{"U+1E7E0", "U+1E7FF", "Ethiopic Extended-B"}, // 2023.02.11 add
{"U+1EC70", "U+1ECBF", "Indic Siyaq Numbers"}, // 2023.02.11 add
{"U+1ED00", "U+1ED4F", "Ottoman Siyaq Numbers"}, // 2023.02.11 add
{"U+1FA00", "U+1FA6F", "Chess Symbols"}, // 2023.02.11 add
{"U+1FA70", "U+1FAFF", "Symbols and Pictographs Extended-A"}, // 2023.02.11 add
{"U+1FB00", "U+1FBFF", "Symbols for Legacy Computing"}, // 2023.02.11 add
{"U+30000", "U+3134F", "CJK Unified Ideographs Extension G"}, // 2023.02.11 add
{"U+31350", "U+323AF", "CJK Unified Ideographs Extension H"}, // 2023.02.11 add