Git Product home page Git Product logo

Comments (3)

gaocegege avatar gaocegege commented on June 12, 2024 4

太极的背景和动机(Motivation)是这样的:计算机视觉的程序通常是用 cpp 和 cuda 实现的。这样的方式有很多缺点:

  • 性能调优很难,需要非常熟悉 cpp 和 cuda。在工业界里这样的工程师通常稀少且昂贵。
  • 可移植性很差,在未来 Nvidia 未必是唯一的 GPU,所以这个问题会越来越严重。
  • 生产力低下,类比互联网领域,之前用 cpp 写 backend 的时代效率很低,现代语言如 go java 都极大的提高了生产力。

不过在 CG 这个领域,太极也有一些 non-goals:

  • tasks with domain-specific hardware support, and
  • coarse-granularity tasks, where function call overheads and data transfer time are negligible, with well-optimized libraries.

文中给出了几个例子,比如 vulkan openGL 优化的非常好的渲染任务,或者 TF PyTorch 已经处理的非常好的 DL 训练等。

from papers-notebook.

gaocegege avatar gaocegege commented on June 12, 2024

屏幕快照 2021-09-13 下午5 55 55

from papers-notebook.

gaocegege avatar gaocegege commented on June 12, 2024

截屏2021-09-14 下午2 56 54

CG 这个场景下有一些领域特定的特点,比如上图。CG 的数据分布是空间上的稀疏,所以利用这个特性,能够做一些通用的编译器/库做不了的优化。

太极做了这么几个设计决策(挑着几个印象深刻的写):

  • 分离数据结构和计算。这个的意思应该是用户看到的数据结构是声明式的,声明自己的期望即可。使用起来 dense 场景和 sparse 场景的数据结构是一个样子的(反面例子见 TF Tensor/SparseTensor?)
  • Regular Grids 是基本的数据结构,暂时不太明白(
  • 自动生成后端代码,用户只需要指定是想要 cuda 还是 vulkan 还是别的,代码会自动生成

from papers-notebook.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.