タグ

ブックマーク / qiita.com/A_kirisaki (5)

  • Accelerateとglossで作るライフゲーム - Qiita

    やっぱり並列計算したいじゃないですか。でも「イチからディープラーニング組むぜ!!」というのも流石に無謀がすぎるのでライフゲームの盤面計算をAccelerateでやり、表示をglossでやってみました。glossについてはこちらの記事を参考にしました。 glossではじめるグラフィック描画 :: Haskell入門の次に読む記事 - Qiita - https://qiita.com/lotz/items/eb73e62a64bc208c2dd6 GPUじゃなしにIntel Core i7-8550U 8コア 4GHzでも5120x5120のライフゲームを秒間30回くらいまで計算できました。こちらのソースコードを元に解説していきたいと思います。 使うモジュールはこんな感じ。 import Data.Array.Accelerate as A import Data.Array.Acceler

    Accelerateとglossで作るライフゲーム - Qiita
  • lts-13.19でaccelerate-llvmを使う時の備忘録 - Qiita

    やっぱり並列計算したいじゃないですか。HaskellではAccelerateを使えばお手軽らしいんですが、lts-13.19でバックエンドをaccelerate-llvmにして使おうとしたら色々とやることがあったのでメモ。 lts-13.9 Ubuntu 18.04 bionic stack.yamlに色々書いとく resolver: lts-13.19 packages: - . extra-deps: - accelerate-1.2.0.1 - accelerate-llvm-1.2.0.1 - accelerate-llvm-native-1.2.0.1 - llvm-hs-8.0.0 - llvm-hs-pure-8.0.0 - tasty-hedgehog-0.2.0.0 flags: llvm-hs: shared-llvm: true extra-depsはstackが指示

    lts-13.19でaccelerate-llvmを使う時の備忘録 - Qiita
  • HaskellとstackとDockerと - Qiita

    はーいほーアッキーだよっ アッキーは最近今更ながらDockerを使い始めていろいろお勉強してるところですHaskellで書かれたアプリケーションをビルドするのにはよくStackが使われますが、Docker上でStackを使いつつビルドして、実行バイナリをいい感じにDockerイメージにできないかなー、と頑張ってみた次第です Stack自体にDocker連携機能あるじゃん? はい、あります。Dockerでビルドする方法がここに、Dockerの実行イメージを作る方法がここにそれぞれ書いてあります。仕組みとしては ビルド用に~/.stackや/path/to/project/.stack-workなどをマウントしたDockerコンテナを立ち上げstack buildする 実行バイナリをコピーしたDockerイメージを作る ってな感じです。ただこれには罠とイケてない点がありまして…… 罠: デフォ

    HaskellとstackとDockerと - Qiita
  • HaskellでのQuickCheckとData.ByteString.Char8の罠

    test/Network/Api/UrlSpec.hs:20:3: 18) Network.Api.Url urlEncode/urlDecode Falsifiable (after 3 tests and 1 shrink): "\883916" もとの数から変化している……?これはなんとなくピンときました。内部でUTF-32を使っているのでエスケープしたとき\x10ffffまで取ることができるのです。 UTF-32 - Wikipedia で、ByteStringは内部的には[Word8]ですからこれをこの文字(\883916)をWord8に突っ込もうとします。もちろん255までしか突っ込めません。するとどうなるのかと言うと、なんとHaskell側で勝手に下位8ビット以外捨ててしまい無理やり0x00~0xffの範囲に収めてしまうのです。 それはともかくなぜこんなことが起こったのか……

    HaskellでのQuickCheckとData.ByteString.Char8の罠
    igrep
    igrep 2018/10/23
    うーん、これつらいよな... OverloadedStringsで日本語が混ざった文字列リテラルを扱うときとかホント意味不明なことが起こる
  • HaskellでDhallをExtensibleのレコードとして読み込めるようにする

  • 1