[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

llvmに関するWatsonのブックマーク (340)

  • 「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”

    Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。 1個の質的な問題を解いてしまうほうが細かいことを考えるよりも簡単 植山類氏:では始めます。日、機会をいただいて講演をすることになった植山と申します。この講演の内容は「大きな問題のほうが小さな問題より解くのは簡単だ」というタイトルです。 どういう趣旨かというと、常に簡単だというわけではないのですが、いろいろな場面で、1個の質的な問題をドッカンと解いてしまうほうが、いろいろな細かいことを考えるよりも簡単なことが多いという話です。 そういうソリューションが往々にして見逃されがちということがけっこうあって、そういうことにどうやって挑戦していくのかという気持ちの話を、僕がそういう大きな問題を解決した経験を踏

    「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”
    Watson
    Watson 2024/03/04
  • Blog: LLVM's 'RFC: C++ Buffer Hardening' at Google

    In this blog post, we're sharing how we evaluated LLVM's proposed approach at Google, outlining our initial conclusions from this process, sharing useful adoption tips, and pointing to the next steps we plan to take on this journey.

    Blog: LLVM's 'RFC: C++ Buffer Hardening' at Google
  • Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に

    Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に Modular社はPythonの高速なスーパーセットだと同社が位置づける新言語「Mojo」をローカル環境で実行可能にする、コンパイラなどのツール群を公開しました。 Mojo is now available for download locally to your machine! Beyond a compiler, the Mojo SDK includes a full set of developer and IDE tools that make it easy to build and iterate on Mojo applications. Let’s build the future together!https://t.co/KxmLvsxx5e — Modula

    Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に
  • Copy Hunting

    I have a super power. I want to share it in this blog post so that you, my dear reader, also have it! This is the super power: I know that LLVM IR is text. Let me explain. When we hack on something, usually it is enough to study the source code. Whether we are implementing a new feature, hunting down a bug, or optimizing performance, usually the mapping between the source code and the resulting ma

    Copy Hunting
    Watson
    Watson 2023/07/27
  • MLIRでHello, Tensor|Kai Sasaki

    この記事はTensorFlow Advent Calendar 2020、17日目の記事です。この記事ではLLVMコミュニティが中心となって開発しているMLIRという新しいコンパイラ基盤の基的な使い方を解説します。 MLIRとはMLIRとはコンパイラ基盤となるオープンソースのソフトウェアでその名はMulti-Level Intermediate Representationの頭文字を取ったものです。もともとはGoogleのTensorFlowチームが開発したソフトウェアでLLVM Foundationに2019年に寄贈されました。 コンパイラ基盤としてはLLVMがよく知られていますが、MLIRはLLVMで得られた知見をより抽象的なレベルで実現し、機械学習アプリケーションに代表されるような複雑な数値計算を様々なハードウェア上に最適な形で実行できるようにします。 例えばコンパイラが真に必要な

    MLIRでHello, Tensor|Kai Sasaki
    Watson
    Watson 2023/05/07
  • MLIR がもたらす新たな中間表現の可能性

    はじめに 半導体の微細化が鈍化し、ハードウェアによる高速化が困難になっている現状において、ソフトウェアによる計算の高速化が喫緊の課題となっています。この状況において、特定のドメインの問題を解くことに最適化された言語であるドメイン固有言語と、そのコンパイラであるドメイン固有コンパイラの活用が望まれています。 ドメイン固有コンパイラの構築の際には、開発を容易にするために、既存のコンパイラ基盤であるLLVMを活用することが考えられます。しかし、LLVM はドメイン固有コンパイラの構築にはあまり向きません。この理由は、LLVM の成功と表裏一体の関係にあります。 LLVM が成功した理由は、コンパイラの処理を適切に分割し、独立したモジュールとして機能させたことにあります。このモジュール化において中心的な役割を果たしているのが、LLVM で用いられる中間表現(Intermediate Represe

    MLIR がもたらす新たな中間表現の可能性
    Watson
    Watson 2023/04/25
  • LLVM 16.0.0 Release

  • 「RISC-V+LLVM本 付録2. 浮動小数点命令」を無償公開しました - FPGA開発日記

    「作って学ぶコンピュータアーキテクチャ」では、執筆時点ですでに500ページを超えてしまい、泣く泣く2章分を削除しています。 1つ目の付録である「付録1. 関数呼び出しのバリエーションと高度な機能」についてはすでに公開済みですが、もう一つの「付録2. 浮動小数点命令」についても公開しました。 こちらは、LLVMに浮動小数点命令を追加し、いくつかのアプリケーションを動かそうというものです。 github.com この章は、当は基的な演算や機能の実装後に挿入したかった章で、以下の範囲をカバーしています。 この章は割と頑張ったもので、浮動小数点の説明から、実装、さらにアプリケーションを2つ実装しています。 後半のレイトレーシングはかなり頑張った部分で、最後に画像が正しく出力されたときは若干感動しました。 こちらも、担当編集の方の校正が入っていないので怪しい文章やもしかしたら誤った情報が入ってい

    「RISC-V+LLVM本 付録2. 浮動小数点命令」を無償公開しました - FPGA開発日記
    Watson
    Watson 2022/07/11
  • BOLT Merged Into LLVM To Optimize Binaries For Faster Performance - Phoronix

    BOLT Merged Into LLVM To Optimize Binaries For Faster Performance Written by Michael Larabel in LLVM on 11 January 2022 at 04:10 PM EST. 25 Comments Merged into LLVM's mono repository minutes ago was BOLT! This is the Facebook-developed tool for optimizing the layout of binaries in the name of delivering greater performance. Facebook (now Meta) already has been using BOLT internally to great succe

    BOLT Merged Into LLVM To Optimize Binaries For Faster Performance - Phoronix
  • LLVM 13.0.0 released [LWN.net]

    LLVM 13.0.0 is now available! Download it now, or read the release notes: https://releases.llvm.org/13.0.0/docs/ReleaseNotes.html https://releases.llvm.org/13.0.0/tools/clang/docs/Release... https://releases.llvm.org/13.0.0/tools/clang/tools/extra/... https://releases.llvm.org/13.0.0/tools/flang/docs/Release... https://releases.llvm.org/13.0.0/tools/lld/docs/ReleaseNo... https://releases.llvm.org/

    Watson
    Watson 2021/10/06
  • LLVMの新しい中間言語表現 MLIRを試す(3. MLIRに関する発表資料を読む) - FPGA開発日記

    MLIRについてもう少し具体的な例を勉強するために、資料を読み込んでいくことにした。 以下の資料を参考にした。Chris Lattnerの所属がSiFiveに変わっているので、比較的最近の資料だ。 docs.google.com MLIRはMulti-Level Intermediate Representation Compiler Ifrastructureの略称である。 2004にLLVMを開発したときの想定構成。1つのIRを用意してすべてを解決する。マルチターゲット、解析、最適化など。 ところがこれだけでは上手く行かなくなった。LLVM-IRだけでなく複数の表現形式を使用する必要がある。現在のLLVM IRでは並列性やループなどの表現形式に問題がある。 Clangも同様。LLVM IRを出力するだけでなく、様々なアノテーションを出力する必要が生じたり、もはやC++の複雑な言語構文を

    LLVMの新しい中間言語表現 MLIRを試す(3. MLIRに関する発表資料を読む) - FPGA開発日記
    Watson
    Watson 2021/09/26
  • Intel Fully Embracing LLVM For Their C/C++ Compilers - Phoronix

    Intel Fully Embracing LLVM For Their C/C++ Compilers Written by Michael Larabel in Intel on 9 August 2021 at 06:31 PM EDT. 35 Comments Intel's next-generation C/C++ compilers are fully leveraging the LLVM compiler stack in place of their former proprietary compiler code-base. Intel has "complete[d] adoption" of LLVM moving forward for their C/C++ compiler needs. Intel's longtime compiler expert Ja

    Intel Fully Embracing LLVM For Their C/C++ Compilers - Phoronix
    Watson
    Watson 2021/08/10
  • Windows 10で始めるC言語開発(1) Windows 10でC言語開発をしよう!LLVM/Clangで行く

    TIOBE Programming Community Index (2021年4月4日) 資料: TIOBE Software 増加傾向を続けているのはPythonだ。使われる分野も多岐にわたる。学習が比較的容易で必要とされる産業が多いということは、それだけ就職口があるということも意味している。この言語に人気が出るのは当然だ。 長期にわたって減少傾向にあるものの、Javaにも根強いシェアがある。Javaは既に企業システムの基幹部分で使われているなど、ビジネスにおいて欠かすことができない言語だ。新規開発に加えて、Javaで開発したシステムのメンテナンスや改修といったニーズもある。これも就職先が多いプログラミング言語だ。 そして現在、TIOBE Programming Community Indexの1位はC言語だ。もともとC言語は人気1位だったが、Javaの登場以降は2位に甘んじていた。し

    Windows 10で始めるC言語開発(1) Windows 10でC言語開発をしよう!LLVM/Clangで行く
  • [llvm-announce] LLVM 12.0.0 Release

    Tom Stellard via llvm-announce llvm-announce at lists.llvm.org Thu Apr 15 14:02:23 PDT 2021 Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] LLVM 12.0.0 is now available! Download it now, or read the release notes: https://releases.llvm.org/12.0.0/docs/ReleaseNotes.html https://releases.llvm.org/12.0.0/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/12.0.0/tools/clang/to

    Watson
    Watson 2021/04/17
  • mold: modern linker

    mold: modern linker Rui Ueyama

    mold: modern linker
  • Rust+LLVMでおもちゃ言語を作ったお話 - Qiita

    初日の記事で紹介されてる (今年度の生徒たちのコンテスト成果 一番上) JPNYKWです. 今回は自作言語もRustもLLVMも何もかも初めての 超絶初心者 である私が, 1ヶ月間学びながら簡単な自作言語に挑戦したので, これまでどのように学び開発をして行ったかを綴ろうと思います. また, 知識も無いので高度な内容は書けません, ご了承ください. 間違いもあると思いますので, 指摘していただけると助かります. ※偶然にも @Garnet3106 さんの 19日目の記事 と自作言語ネタが被りました 言語紹介 おもちゃ言語と呼んでいます. 高度な機能はありませんし, 未完成です. 期待はしないでください (重要) 言語名は plat と言います. 意味は playthings の省略です. 構文紹介 最初に, この言語の構文を簡単に紹介します. 基的には LLVM Tutorial で開発し

    Rust+LLVMでおもちゃ言語を作ったお話 - Qiita
  • 【CEDEC 2020 フォローアップ】 マルチプラットフォーム環境で実現するLLVM ClangによるSIMD自動ベクトル最適化

    【CEDEC 2020 フォローアップ】 マルチプラットフォーム環境で実現するLLVM ClangによるSIMD自動ベクトル最適化
    Watson
    Watson 2021/01/30
  • A Complete Guide to LLVM for Programming Language Creators

    Update: this post has now taken off on Hacker News and Reddit. Thank you all! Who’s this tutorial for?This series of compiler tutorials is for people who don’t just want to create a toy language. You want objects. You want polymorphism. You want concurrency. You want garbage collection. Wait you don’t want GC? Okay, no worries, we won’t do that :P If you’ve just joined the series at this stage, he

    A Complete Guide to LLVM for Programming Language Creators
    Watson
    Watson 2020/12/26
  • 自作コンパイラ基盤の話 - Qiita

    これは、言語実装 Advent Calendar 2020 19日目の記事です。 最近は、コンパイラやインタプリタなどの言語処理系や、それに類するものを作る人が増えてきています。(私の周りだけかもしれませんが。) しかし、もう一歩進んで、コンパイラ基盤を作ってみたという話はあまり聞きません。 コンパイラ基盤は、それの対象とするアーキテクチャについてや、それ自体の使い勝手を考えるのが非常に面白いものです。また、コンパイラ基盤を作る中で、コンパイラや計算機自体についてより深く学ぶことが出来ます。 この記事では、私が開発中のコンパイラ基盤を例として、コンパイラ基盤について語っていきます。 そもそもコンパイラ基盤とは コンパイラ基盤と言えば、近年色々な所で目にするのがLLVMです。 LLVMを使うことで、コンパイラの複雑で面倒な部分を避けつつ、コンパイラを構成することができるようになりました。 下

    自作コンパイラ基盤の話 - Qiita
    Watson
    Watson 2020/12/20
  • LLVM の Kaleidoscope を育てながら作る - Qiita

    この記事は言語実装 Advent Calendar 2020 3日目の記事です。前回は sisshiki1969 さんの「ruruby: RustでつくっているRuby」、次回は yharaさんの「Shiika進捗」です。 趣旨 LLVM を使って小さな言語を実装してみます。 方針としては、最小限の機能の言語から出発して動くものを少しづつ大きくしていきます。ゴールは LLVM 公式のチュートリアルである Kaleidoscope の序盤相当の部分で、次のプログラムが動くことを目標とします。 def fib(n) if n < 3 then 1 else fib(n-1) + fib(n-2); fib(10) #=> 55 想定する読者 LLVM や LLVM IR がどういうものか何となく知っている Haskell がなんとなく分かる ただしコードにはコメントを入れて、LLVM IR や

    LLVM の Kaleidoscope を育てながら作る - Qiita
    Watson
    Watson 2020/12/05