在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

來自麻省理工的圖像設計語言Halide:AI、VR利器

SSDFans ? 來源:楊湘祁 ? 作者:電子發燒友 ? 2019-03-07 14:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著人工智能VR等領域的發展,我們對于高性能圖像處理程序的需求越來越大;當前編程工具開發的高性能圖像處理程序犧牲了程序的可讀性,模塊性,可移植性等;其主要原因是,當前程序將算法描述, 數據存儲以及計算糅雜一起。同時手工編寫高性能圖像處理程序開發效率較低,難以快速構建大量高性能圖像處理代碼。

在這樣的背景下,MIT的研究人員專門為圖像處理設計了一種程序語言——Halide;Halide語言易于編寫和修改,并且能夠自動對代碼進行優化,使應用程序獲得更好的執行效率。Halide設計的核心思想是將算法的內容和算法的執行耦,這樣程序員可以根據不同的設備設置不同的優化策略,獲得更高質量的代碼。

目前halide支持的設備情況為:

CPU架構:X86, ARM, MIPS, Hexagon, PowerPC

操作系統Linux, Windows, Mac OS X, Android, iOS, Qualcomm QuRT

GPU計算API:CUDA, OpenCL, OpenGL, OpenGL Compute Shaders,Apple Metal, Microsoft Direct X 12

當前知名的自動優化框架,除了halide還有寒武紀的TVM,TVM在設計上借鑒了halide將算法內容和執行解耦的思路。本文主要主要內容如下:

- LLVM安裝- Halide編譯- Halide程序構建

##LLVM安裝

首先下載LLVM源代碼,源代碼下載地址為:

http://releases.llvm.org/download.html#7.0.1

halide要求LLVM的版本為6.0以上,本文使用的是7.0.1版本;

需要下載一下幾部分:

- LLVM source code (.sig)- Clang source code (.sig)- compiler-rt source code (.sig)- libc++ source code (.sig)- libc++abi source code (.sig)- clang-tools-extra (.sig) (可選)

源碼編譯LLVM:- 創建源碼目錄```mkdir LLVMtar xvf llvm-7.0.1.src.tar.xzmv llvm-7.0.1.src.tar.xz llvm-7.0.1cd llvm-7.0.1/tools/tar xvf cfe-7.0.1.src.tar.xz #clang的源代碼包mv cfe-7.0.1.src clangcd ../projects/tar xvf compiler-rt-7.0.1.src.tar.xztar xvf libcxx-7.0.1.src.tar.xztar xvf libcxxabi-7.0.1.src.tar.xzmv libcxx-7.0.1.src libcxxmv libcxxabi-7.0.1.src libcxxabimv compiler-rt-7.0.1.src compiler-rt```以上是目錄構建的方法,注意需要自己將下載的源代碼包拷貝到對應的目錄下;可選包clang-tools-extra-7.0.1.src.tar.xz放到llvm-7.0.1/tools/clang/tools目錄下,解壓,重命名為extra;- build LLVM筆者在LLVM-7.0.1目錄的同一級,創建LLVM-build目錄;```cd LLVM-buildcmake -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD="X86;ARM;NVPTX;AArch64;Mips;PowerPC" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release ../LLVM-7.0.1/

make -j4

make install```其中,-DLLVM_TARGETS_TO_BUILD選項也可以根據需求設置,目前LLVM支持的架構包含:AArch64AMDGPUARMBPFHexagonLanaiMipsMSP430NVPTXPowerPCSparcSystemZX86XCore

也可以不使用make install,在編譯Halide的時候使用export:

export LLVM_CONFIG=/build/bin/llvm-configexport CLANG=/build/bin/clang

以上是關于LLVM的編譯。

## Halide的編譯安裝

下載源碼:git clone https://github.com/halide/Halide.git進入Halide目錄,設置環境變量:export LLVM_CONFIG=/build/bin/llvm-configexport CLANG=/build/bin/clang編譯方法有很多種,這里采用cmake編譯,方法如下:```mkdir buildcd buildcmake -DLLVM_DIR=/you/path/install/lib/cmake/llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/you/install/path ../make -j4make install

```note:如果編譯失敗,關注一下cmake命令執行的結果,查看缺少什么包,安裝后重新編譯即可;筆者在編譯的過程中缺少,OpenBLAS,eign3, atlas;其中OpenBLAS采用的源碼安裝,下載源碼:```git clone https://github.com/xianyi/OpenBLAS.gitcd OpenBLASmake -j4make PREFIX=/you/install/path/ install

```如果安裝目錄不是默認的/usr/local/,則需要指定環境變量;其他兩個庫采用apt-get大法安裝即可;```sudo apt-get install libeigen3-devsudo apt-get install libatlas-dev

```至此完成了Halid的安裝編譯;注意Halide也可以不安裝,只要使用的時候正確鏈接庫就OK。

## Halide程序構建demo如下:```// Halide.h包含了整個Halide, 只需要include這個頭文件即可#include "Halide.h"http://c頭文件是為了使用c函數#include

int main(int argc, char **argv) {

//定義函數Halide::Func gradient;//定義變量Halide::Var x, y;//定義計算Halide::Expr e = x + y;

gradient(x, y) = e;//獲取計算結果Halide::Buffer output = gradient.realize(800, 600);

//驗證計算結果for (int j = 0; j < output.height(); j++) {for (int i = 0; i < output.width(); i++) {if (output(i, j) != i + j) {printf("Something went wrong!\n""Pixel %d, %d was supposed to be %d, but instead it's %d\n",i, j, i+j, output(i, j));return -1;}}}printf("Success!\n");return 0;}

```編譯方法:```g++ halide01.cpp -g -I /you/patn/include -L /you/path/bin -lHalide -lpthread -ldl -o halide01 -std=c++11```編譯完該文件以后,獲取可執行文件;執行該文件之前需要設置環境變量:```export LD_LIBRARY_PATH=/you/path/bin```該目錄包含Halide.so至此Halide的demo構建結束;本文中只構建了簡單的Halide的程序,能夠看到Halide語言中算法描述與計算解耦的設計方式;之后的文章中會繼續介紹Halide中關于優化策略等的設計,最終驗證Halide自動優化代碼的性能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    88

    文章

    34778

    瀏覽量

    277032
  • MIT
    MIT
    +關注

    關注

    3

    文章

    254

    瀏覽量

    24328
  • vr
    vr
    +關注

    關注

    34

    文章

    9671

    瀏覽量

    152353

原文標題:來自MIT的圖像設計語言Halide:AI、VR利器

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    偉創力與麻省理工學院 (MIT) 就其全新的“新制造倡議”(INM) 達成戰略合作

    行業巨擘+全球頂級學府? 近日,偉創力與 麻省理工學院? (MIT) 就其 全新的“新制造倡議”(INM) 達成戰略合作 。作為INM行業聯盟的 創始成員 ,偉創力將在這一項目中與MIT的研究人員
    的頭像 發表于 06-10 09:30 ?510次閱讀

    麻省理工學院香港校友會代表團到訪華沿機器人

    近日,麻省理工學院香港校友會(MIT Club of Hong Kong)代表團40余人到訪華沿機器人總部,通過展廳參觀、技術交流與座談研討,深入了解國產機器人產業發展現狀,并就“機器人+人工智能”的融合發展趨勢展開深度對話。華沿機器人CEO王光能及相關人員出席。
    的頭像 發表于 05-30 09:26 ?354次閱讀

    一文詳解視覺語言模型

    視覺語言模型(VLM)是一種多模態、生成式 AI 模型,能夠理解和處理視頻、圖像和文本。
    的頭像 發表于 02-12 11:13 ?1649次閱讀
    一文詳解視覺<b class='flag-5'>語言</b>模型

    麻省理工科技評論:2025年AI領域突破性技術

    麻省理工科技評論》于1月3日公布2025年十大突破性技術,其中AI相關技術有:生成式AI搜索:整合多源數據,提供獨特答案,掃描設備文件快速識別對象,或將加速傳統搜索引擎終結,推動個性化AI
    的頭像 發表于 01-07 23:40 ?982次閱讀
    <b class='flag-5'>麻省理工</b>科技評論:2025年<b class='flag-5'>AI</b>領域突破性技術

    AI語言模型開發步驟

    開發一個高效、準確的大語言模型是一個復雜且多階段的過程,涉及數據收集與預處理、模型架構設計、訓練與優化、評估與調試等多個環節。接下來,AI部落小編為大家詳細闡述AI語言模型的開發步驟
    的頭像 發表于 12-19 11:29 ?826次閱讀

    AI圖像識別攝像機

    隨著科技的迅猛發展,人工智能(AI)在各個領域的應用越來越廣泛,其中圖像識別技術尤為引人注目。AI圖像識別攝像機作為這一技術的重要應用之一,正在逐步改變我們的生活和工作方式。什么是
    的頭像 發表于 11-08 10:38 ?809次閱讀
    <b class='flag-5'>AI</b><b class='flag-5'>圖像</b>識別攝像機

    麻省理工學院研發全新納米級3D晶體管,突破性能極限

    11月7日,有報道稱,美國麻省理工學院的研究團隊利用超薄半導體材料,成功開發出一種前所未有的納米級3D晶體管。這款晶體管被譽為迄今為止最小的3D晶體管,其性能與功能不僅與現有的硅基晶體管相當,甚至在某些方面還超越了后者。
    的頭像 發表于 11-07 13:43 ?839次閱讀

    麻省理工學院推出新型機器人訓練模型

    近日,據TechCrunch報道,麻省理工學院的研究團隊展示了一種創新的機器人訓練模型,該模型突破了傳統模仿學習方法的局限,不再依賴標準數據集,而是借鑒了大型語言模型(LLM)如GPT-4等所使用的大規模信息處理方式,為機器人學習新技能開辟了全新的道路。
    的頭像 發表于 11-04 14:56 ?894次閱讀

    AI大模型在圖像識別中的優勢

    AI大模型在圖像識別中展現出了顯著的優勢,這些優勢主要源于其強大的計算能力、深度學習算法以及大規模的數據處理能力。以下是對AI大模型在圖像識別中優勢的介紹: 一、高效性與準確性 處理速
    的頭像 發表于 10-23 15:01 ?2361次閱讀

    VILA與其他模型在提供邊緣AI 2.0方面的表現

    VILA 是 NVIDIA 研究部門與麻省理工學院共同開發的高性能視覺語言模型系列。最大的模型約有 400 億參數,最小的模型約有 30 億參數,并且完全開源(包括模型檢查點、訓練代碼和訓練數據)。
    的頭像 發表于 10-10 10:06 ?674次閱讀
    VILA與其他模型在提供邊緣<b class='flag-5'>AI</b> 2.0方面的表現

    美國老化電網已無法負荷AI計算

    外媒《華盛頓郵報》刊發的美國麻省理工學院學者丹妮拉·魯斯與前美國能源部分析學者尼科·恩里克斯聯合署名文章,表達了對于美國老化電網已無法負荷AI計算的擔心。 文章稱因為AI的爆發使得人工智能系統耗電量
    的頭像 發表于 09-26 11:37 ?1013次閱讀

    基于XIAO ESP32S3 sense開發板的小型相機設計

    在這個科技飛速發展的時代,DIY(Do It Yourself)文化正成為連接創新與日常生活的橋梁,今天小編給大家帶來了來自麻省理工學院的Arnov Sharma 的基于XIAO ESP32S3 sense的小型相機項目,該相機擁有一個圓形的觸摸屏幕可以顯示畫面,手持拍攝
    的頭像 發表于 09-06 10:17 ?1395次閱讀
    基于XIAO ESP32S3 sense開發板的小型相機設計

    Freepik攜手Magnific AI推出AI圖像生成器

    近日,設計資源巨頭Freepik攜手Magnific AI,共同推出了革命性的AI圖像生成器——Freepik Mystic,這一里程碑式的發布標志著AI
    的頭像 發表于 08-30 16:23 ?1550次閱讀

    圖像識別技術包括自然語言處理嗎

    圖像識別技術與自然語言處理是人工智能領域的兩個重要分支,它們在很多方面有著密切的聯系,但也存在一些區別。 一、圖像識別技術與自然語言處理的關系 1.1
    的頭像 發表于 07-16 10:54 ?1486次閱讀

    麻省理工學院研發RoboGrocery系統,雜貨店自動化裝袋新篇章

    在科技日新月異的今天,自動化和智能化正逐漸滲透到我們生活的方方面面。近日,麻省理工學院計算機科學與人工智能實驗室(CSAIL)的一項創新技術引起了廣泛關注——RoboGrocery系統,該系統將計算機視覺與軟機器人夾持器技術相結合,為雜貨店自動化裝袋過程帶來了新的可能性。
    的頭像 發表于 07-01 16:49 ?897次閱讀
    主站蜘蛛池模板: 毛片美女| 亚洲人成电影综合网站色 | 美女自熨出白浆视频在线播放 | 国产农村女人一级毛片了 | videofreeones性欧美另类 | 欧美在线播放 | 香淫| 狠狠色噜狠狠狠狠色综合久 | 日本a级片在线观看 | 色清片| 成人99| 九九热在线视频观看 | 婷婷综合五月中文字幕欧美 | xxⅹ丰满妇女与善交 | 天天摸夜夜添夜夜添国产 | 美女一级牲交毛片视频 | 手机在线播放视频 | 影音先锋在线亚洲精品推荐 | 又粗又硬又猛又黄的免费视频黑人 | 亚洲一区二区免费视频 | 亚洲免费在线观看 | 免费亚洲视频在线观看 | 天天操天天操天天 | 天天添天天操 | 夜夜骑狠狠干 | 国产伦精品一区二区三区免 | 韩国三级hd | 爱情社保片鲁丝片一区 | 99久久久久国产精品免费 | 成人网在线视频 | 上课被同桌摸下面做羞羞 | 国产精品视频永久免费播放 | www.a级片| 26uuu影院亚洲欧美综合 | 一级毛片免费毛片一级毛片免费 | 男人的午夜 | 久久久久久亚洲精品 | 一级黄色录像视频 | 97人人揉人人捏人人添 | 777kkk亚洲综合欧美色老头 | 五月激激 |