Halide เป็นภาษาโปรแกรมที่ออกแบบมาเพื่อให้เขียนโค้ดประมวลผลรูปภาพและอาเรย์ประสิทธิภาพสูงบนเครื่องสมัยใหม่ได้ง่ายขึ้น ปัจจุบัน Halide ตั้งเป้าหมาย:
แทนที่จะเป็นภาษาโปรแกรมแบบสแตนด์อโลน Halide ถูกฝังอยู่ใน C ++ ซึ่งหมายความว่าคุณเขียนโค้ด C++ ที่สร้างการแสดงในหน่วยความจำของไปป์ไลน์ Halide โดยใช้ C++ API ของ Halide จากนั้นคุณสามารถคอมไพล์การแสดงนี้ไปยังไฟล์อ็อบเจ็กต์ หรือคอมไพล์ JIT และรันมันในกระบวนการเดียวกัน นอกจากนี้ Halide ยังมีการเชื่อมโยง Python ที่ให้การสนับสนุนอย่างเต็มที่สำหรับการเขียน Halide ที่ฝังอยู่ใน Python โดยไม่ต้องใช้ C++
Halide ต้องใช้ C++17 (หรือใหม่กว่า) เพื่อใช้งาน
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเฮไลด์ โปรดดูที่ https://halide-lang.org
สำหรับเอกสารประกอบ API โปรดดูhttps://halide-lang.org/docs
สำหรับโค้ดตัวอย่างบางส่วน โปรดอ่านบทช่วยสอนออนไลน์ที่ https://halide-lang.org/tutorials รหัสที่เกี่ยวข้องอยู่ในไดเรกทอรี tutorials/
ตัวอย่างขนาดใหญ่อยู่ในไดเรกทอรี apps/
หากคุณได้รับการเผยแพร่แหล่งที่มาเต็มรูปแบบและต้องการสร้าง Halide โปรดดูหมายเหตุด้านล่าง
ตั้งแต่ Halide 19.0.0 เรามีไบนารี่วีลบน PyPI Halide ให้การเชื่อมโยงสำหรับ C++ และ Python แม้ว่าคุณจะตั้งใจจะใช้ Halide จาก C++ เท่านั้น แต่ pip อาจเป็นวิธีที่ง่ายที่สุดในการรับ Halide บิลด์ไบนารี่
สามารถติดตั้งเวอร์ชันเต็มได้ด้วย pip
ดังนี้:
$ pip install halide
การคอมมิตไปยัง main
ทุกรายการจะถูกเผยแพร่ไปยัง Test PyPI เป็นเวอร์ชันการพัฒนา และสิ่งเหล่านี้อาจถูกติดตั้งพร้อมกับแฟล็กพิเศษบางอย่าง:
$ pip install halide --pre --extra-index-url https://test.pypi.org/simple
ปัจจุบัน เรามีล้อสำหรับ: Windows x86-64, macOS x86-64, macOS arm64 และ Linux x86-64 ล้อ Linux ถูกสร้างขึ้นสำหรับ manylinux_2_28 ซึ่งทำให้เข้ากันได้ในวงกว้าง (Debian 10, Ubuntu 18.10, Fedora 29)
สำหรับการใช้งาน C++ ของแพ็คเกจ pip: บน Linux และ macOS คำสั่ง find_package
ของ CMake ควรค้นหา Halide ตราบใดที่คุณอยู่ในสภาพแวดล้อมเสมือนเดียวกับที่คุณติดตั้งไว้ บน Windows คุณจะต้องเพิ่มไดเรกทอรีรากของสภาพแวดล้อมเสมือนลงใน CMAKE_PREFIX_PATH
. ซึ่งสามารถทำได้โดยการรัน set CMAKE_PREFIX_PATH=%VIRTUAL_ENV%
in cmd
ระบบบิลด์อื่นๆ สามารถค้นหาเส้นทางรูทของ Halide ได้โดยการรัน python -c "import halide; print(halide.install_dir())"
หรือหากคุณใช้ macOS คุณสามารถติดตั้ง Halide ผ่าน Homebrew ได้ดังนี้:
$ brew install halide
Halide เวอร์ชันล่าสุดสามารถพบได้บน GitHub ที่ https://github.com/halide/Halide/releases
เราให้บริการไบนารีรีลีสสำหรับแพลตฟอร์มและสถาปัตยกรรมยอดนิยมมากมาย รวมถึง Windows 32/64 บิต x86, 64 บิต x86/ARM macOS และ 32/64 บิต x86/ARM Ubuntu Linux
รุ่น macOS สร้างขึ้นโดยใช้เครื่องมือบรรทัดคำสั่งของ XCode กับ Apple Clang 500.2.76 ซึ่งหมายความว่าเราเชื่อมโยงกับ libc++ แทนที่จะเป็น libstdc++ คุณอาจต้องปรับตัวเลือกคอมไพเลอร์ให้เหมาะสมหากคุณใช้ XCode รุ่นเก่าซึ่งไม่ได้ใช้ค่าเริ่มต้นเป็น libc++
เราใช้ Ubuntu LTS ล่าสุดเพื่อสร้างรุ่น Linux; หากการแจกจ่ายของคุณเก่าเกินไป อาจไม่มี glibc ที่จำเป็น
บิลด์ Nightly ของ Halide และเวอร์ชัน LLVM ที่เราใช้ใน CI ก็มีให้ที่ https://buildbot.halide-lang.org/
หากคุณใช้ vcpkg เพื่อจัดการการขึ้นต่อกัน คุณสามารถติดตั้ง Halide ผ่านทาง:
$ vcpkg install halide:x64-windows # or x64-linux/x64-osx
ข้อแม้ประการหนึ่ง: vcpkg จะติดตั้งเฉพาะแบ็กเอนด์ Halide ขั้นต่ำที่จำเป็นในการคอมไพล์โค้ดสำหรับแพลตฟอร์มที่ใช้งานอยู่ หากคุณต้องการรวมแบ็กเอนด์ทั้งหมด คุณควรติดตั้ง halide[target-all]:x64-windows
แทน โปรดทราบว่าเนื่องจากสิ่งนี้จะสร้าง LLVM จึงต้องใช้พื้นที่ดิสก์ มาก (สูงสุด 100GB)
เราสนใจที่จะนำ Halide มาสู่ผู้จัดการแพ็คเกจยอดนิยมและแหล่งกระจาย Linux! เราติดตามสถานะของการแจกแจง Halide ต่างๆ ในปัญหา GitHub นี้ หากคุณมีประสบการณ์ในการเผยแพร่แพ็คเกจ เรายินดีที่จะร่วมงานกับคุณ!
ข้อกำหนดแพลตฟอร์มที่เกี่ยวข้องกับ Halide มีอยู่สองชุด: ข้อกำหนดที่จำเป็นในการรันไลบรารีคอมไพเลอร์ในโหมด JIT หรือ AOT และข้อกำหนดที่จำเป็นในการรัน เอาต์พุตไบนารี่ ของคอมไพเลอร์ AOT
สิ่งเหล่านี้คือชุดเครื่องมือโฮสต์และแพลตฟอร์ม ที่ผ่านการทดสอบ สำหรับการสร้างและรันไลบรารีคอมไพเลอร์ Halide
คอมไพเลอร์ | เวอร์ชัน | ระบบปฏิบัติการ | สถาปัตยกรรม |
---|---|---|---|
จีซีซี | 9.5 | อูบุนตู ลินุกซ์ 20.04 LTS | x86,x64 |
จีซีซี | 11.4 | อูบุนตู ลินุกซ์ 22.04 LTS | ARM32, ARM64 |
เอ็มเอสวีซี | 2565 (19.37 น.) | วินโดวส์ 11 (22631) | x86,x64 |
AppleClang | 15.0.0 | macOS14.4.1 | x64 |
AppleClang | 14.0.0 | macOS 14.6 | ARM64 |
ผู้ใช้บางรายประสบความสำเร็จในการสร้าง Halide สำหรับ Linux โดยใช้ Clang 9.0.0+, สำหรับ Windows ที่ใช้ ClangCL 11.0.0+ และสำหรับ Windows ARM64 โดยการคอมไพล์ข้ามกับ MSVC อย่างไรก็ตาม เราไม่ได้ทดสอบสถานการณ์เหล่านี้อย่างจริงจัง ดังนั้นระยะทางของคุณอาจแตกต่างกันไป
นอกเหนือจากนี้ เรายินดีที่จะสนับสนุน (โดยการยอมรับ PR สำหรับ) การรวมแพลตฟอร์มและ toolchain ที่ยังคงได้รับ การสนับสนุนจากบุคคลที่หนึ่งและสาธารณะ จากผู้จำหน่ายดั้งเดิม ตัวอย่างเช่น ในขณะที่เขียน จะไม่รวม Windows 7 และรวมถึง Ubuntu 18.04 LTS
ไปป์ไลน์ AOT ที่คอมไพล์แล้วคาดว่าจะรองรับแพลตฟอร์มได้กว้างขึ้นมาก ไบนารีใช้ C ABI และเราคาดหวังว่าคอมไพเลอร์ C ที่สอดคล้องจะสามารถใช้ส่วนหัวที่สร้างขึ้นได้อย่างถูกต้อง การเชื่อมโยง C++ ในปัจจุบันต้องใช้ C++17 หากคุณพบปัญหาความเข้ากันได้กับไปป์ไลน์ที่สร้างขึ้น โปรดเปิดปัญหา
ณ เวลาใดก็ตาม การสร้าง Halide ต้องใช้ LLVM เวอร์ชันเสถียรล่าสุด LLVM เวอร์ชันเสถียรก่อนหน้า หรือ Trunk ในขณะที่เขียน หมายความว่ารองรับเวอร์ชัน 19, 18 และ 17 แต่ไม่รองรับเวอร์ชัน 16
วิธีที่ง่ายที่สุดในการรับ LLVM แบบไบนารีบน macOS โดยใช้ Homebrew brew install llvm
เพียงแค่เรียกใช้ สำหรับรสชาติ Debian ของ Linux นั้น repo LLVM APT นั้นดีที่สุด ใช้สคริปต์การติดตั้งที่ให้มา เรารู้ว่าไม่มีไบนารี่อย่างเป็นทางการที่เหมาะสมสำหรับ Windows อย่างไรก็ตาม สามารถพบได้ที่ https://buildbot.halide-lang.org และ tarball สำหรับแพลตฟอร์มอื่นๆ ที่ผ่านการทดสอบของเรา ดูส่วน Windows ด้านล่างสำหรับคำแนะนำเพิ่มเติม
หากระบบปฏิบัติการของคุณไม่มีแพ็คเกจสำหรับ LLVM หรือคุณต้องการควบคุมการกำหนดค่าเพิ่มเติม คุณสามารถสร้างมันขึ้นมาเองได้ ก่อนอื่นให้ตรวจสอบจาก GitHub:
$ git clone --depth 1 --branch llvmorg-18.1.8 https://github.com/llvm/llvm-project.git
(LLVM 18.1.8 เป็น LLVM ที่ออกล่าสุดในขณะที่เขียน สำหรับ trunk ปัจจุบัน ให้ใช้ main
แทน)
จากนั้นสร้างมันขึ้นมาดังนี้:
$ cmake -G Ninja -S llvm-project/llvm -B build
-DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_PROJECTS= " clang;lld;clang-tools-extra "
-DLLVM_ENABLE_RUNTIMES=compiler-rt
-DLLVM_TARGETS_TO_BUILD= " WebAssembly;X86;AArch64;ARM;Hexagon;NVPTX;PowerPC;RISCV "
-DLLVM_ENABLE_ASSERTIONS=ON
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_HTTPLIB=OFF
-DLLVM_ENABLE_LIBEDIT=OFF
-DLLVM_ENABLE_LIBXML2=OFF
-DLLVM_ENABLE_TERMINFO=OFF
-DLLVM_ENABLE_ZLIB=OFF
-DLLVM_ENABLE_ZSTD=OFF
-DLLVM_BUILD_32_BITS=OFF
$ cmake --build build
$ cmake --install build --prefix llvm-install
สิ่งนี้จะสร้างการติดตั้ง LLVM ที่ใช้งานได้ $PWD/llvm-install
เราอ้างถึงเส้นทางนี้เป็น LLVM_ROOT
ในภายหลัง อย่าสับสนระหว่างแผนผังการติดตั้งนี้กับแผนผังบิลด์!
LLVM ใช้เวลานานในการสร้าง ดังนั้นคำสั่งข้างต้นจึงใช้ Ninja เพื่อเพิ่มความขนานให้สูงสุด หากคุณเลือกที่จะละเว้น -G Ninja
Makefiles จะถูกสร้างขึ้นแทน ในกรณีนี้ ให้เปิดใช้งานการทำงานแบบขนานด้วย cmake --build build -j NNN
โดยที่ NNN
คือจำนวนงานแบบขนาน เช่น จำนวน CPU ที่คุณมี
โปรดทราบว่าคุณ ต้อง เพิ่ม clang
และ lld
ใน LLVM_ENABLE_PROJECTS
และ WebAssembly
และ X86
จะต้อง รวมอยู่ใน LLVM_TARGETS_TO_BUILD
LLVM_ENABLE_RUNTIMES=compiler-rt
จำเป็นเท่านั้นในการสร้างการทดสอบ fuzz และ clang-tools-extra
จำเป็นเฉพาะเมื่อคุณวางแผนที่จะสนับสนุนโค้ดให้กับ Halide (เพื่อให้คุณสามารถเรียกใช้ clang-tidy
ในคำขอดึงของคุณ) คุณสามารถปิดใช้งานการจัดการข้อยกเว้น (EH) และ RTTI ได้ หากคุณไม่ต้องการผูก Python เราขอแนะนำให้เปิดใช้งานชุดเต็มเพื่อลดความซับซ้อนของบิลด์ระหว่างการพัฒนา
จะมีการกล่าวถึงรายละเอียดเพิ่มเติมใน BuildingHalideWithCMake.md ต้องใช้ CMake เวอร์ชัน 3.28+ เพื่อสร้าง Halide
ทำตามคำแนะนำข้างต้นเพื่อสร้าง LLVM หรือรับไบนารีรีลีสที่เหมาะสม จากนั้นเปลี่ยนไดเร็กทอรีเป็นที่เก็บ Halide และรัน:
$ cmake -G Ninja -S . -B build -DCMAKE_BUILD_TYPE=Release -DHalide_LLVM_ROOT= $LLVM_ROOT
$ cmake --build build
ไม่จำเป็นต้องตั้งค่า -DHalide_LLVM_ROOT
หากคุณติดตั้งเวอร์ชันทั้งระบบที่เหมาะสม อย่างไรก็ตาม หากคุณติดตั้ง LLVM หลายตัว ก็สามารถเลือกระหว่าง LLVM ได้
เราขอแนะนำให้สร้างด้วย Visual Studio 2022 ระยะทางของคุณอาจแตกต่างกันไปตามเวอร์ชันก่อนหน้า อย่าลืมติดตั้ง "เครื่องมือ C++ CMake สำหรับ Windows" ในตัวติดตั้ง Visual Studio สำหรับ Visual Studio เวอร์ชันเก่า อย่าติดตั้งเครื่องมือ CMake แต่ให้รับ CMake และ Ninja จากเว็บไซต์โครงการที่เกี่ยวข้องแทน
คำแนะนำเหล่านี้เริ่มต้นจากไดรฟ์ D:
เราถือว่า repo git นี้ถูกโคลนไปที่ D:Halide
เรายังถือว่าสภาพแวดล้อมเชลล์ของคุณได้รับการตั้งค่าอย่างถูกต้อง สำหรับบิลด์ 64 บิต ให้รัน:
D:> "C:Program Files (x86)Microsoft Visual Studio2022CommunityVCAuxiliaryBuildvcvarsall.bat" x64
สำหรับรุ่น 32 บิต ให้รัน:
D:> "C:Program Files (x86)Microsoft Visual Studio2022CommunityVCAuxiliaryBuildvcvarsall.bat" x64_x86
วิธีที่ดีที่สุดในการรับการพึ่งพาที่เข้ากันได้บน Windows คือการใช้ vcpkg ติดตั้งดังนี้:
D:> git clone https://github.com/Microsoft/vcpkg.git
D:> cd vcpkg
D:vcpkg> .bootstrap-vcpkg.bat -disableMetrics
...
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake"
เมื่อใช้ไฟล์ toolchain vcpkg จะสร้างการขึ้นต่อกันที่จำเป็นทั้งหมดโดยอัตโนมัติ อย่างไรก็ตาม ตามที่ระบุไว้ข้างต้น โปรดทราบว่าการรับ LLVM ด้วยวิธีนี้อาจใช้พื้นที่ดิสก์มากกว่า 100 GB สำหรับแผนผังการ build และใช้เวลานานมากในการสร้าง คุณสามารถลบแผนผังบิลด์ได้ด้วยตนเองในภายหลัง แต่ vcpkg จะไม่ดำเนินการนี้โดยอัตโนมัติ
ดู BuildingHalideWithCMake.md สำหรับคำแนะนำในการใช้ Vcpkg สำหรับทุกสิ่ง ยกเว้น LLVM
สร้างแผนผังบิลด์แยกต่างหากและเรียกใช้ CMake ด้วย toolchain ของ vcpkg สิ่งนี้จะสร้างในแบบ 32 บิตหรือ 64 บิต ขึ้นอยู่กับสคริปต์สภาพแวดล้อม ( vcvars
) ที่ทำงานก่อนหน้านี้
D:Halide> cmake -G Ninja -S . -B build ^
--toolchain D:/vcpkg/scripts/buildsystems/vcpkg.cmake ^
-DCMAKE_BUILD_TYPE=Release
จากนั้นรันบิลด์ด้วย:
D:Halide> cmake --build build
หากต้องการรันการทดสอบทั้งหมด:
D:Halide> ctest --test-dir build --output-on-failure
ชุดย่อยของการทดสอบสามารถเลือกได้ด้วย -L
และรวมถึง correctness
, generator
, error
และชื่อไดเร็กทอรีอื่น ๆ ภายใต้ tests/
ทำตามขั้นตอนเหล่านี้หากคุณต้องการสร้าง LLVM ด้วยตัวเอง ขั้นแรก ดาวน์โหลดซอร์สของ LLVM (คำแนะนำเหล่านี้ใช้รุ่น 18.1.8)
D:> git clone --depth 1 --branch llvm-org-18.1.8 https://github.com/llvm/llvm-project.git
ดังที่กล่าวข้างต้น ให้รัน vcvarsall.bat
เพื่อเลือกระหว่าง x86 ถึง x64 จากนั้นกำหนดค่า LLVM ด้วยคำสั่งต่อไปนี้ (สำหรับ 32 บิต ให้ตั้งค่า -DLLVM_BUILD_32_BITS=ON
แทน):
D:> cmake -G Ninja -S llvm-projectllvm -B build ^
-DCMAKE_BUILD_TYPE=Release ^
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra ^
-DLLVM_ENABLE_RUNTIMES=compiler-rt ^
-DLLVM_TARGETS_TO_BUILD=WebAssembly;X86;AArch64;ARM;Hexagon;NVPTX;PowerPC;RISCV ^
-DLLVM_ENABLE_ASSERTIONS=ON ^
-DLLVM_ENABLE_EH=ON ^
-DLLVM_ENABLE_RTTI=ON ^
-DLLVM_ENABLE_HTTPLIB=OFF ^
-DLLVM_ENABLE_LIBEDIT=OFF ^
-DLLVM_ENABLE_LIBXML2=OFF ^
-DLLVM_ENABLE_TERMINFO=OFF ^
-DLLVM_ENABLE_ZLIB=OFF ^
-DLLVM_ENABLE_ZSTD=OFF ^
-DLLVM_BUILD_32_BITS=OFF
MSBuild: หากคุณต้องการสร้าง LLVM ด้วย MSBuild แทน Ninja ให้ใช้ -G "Visual Studio 17 2022" -Thost=x64 -A x64
หรือ -G "Visual Studio 17 2022" -Thost=x64 -A Win32
แทนที่ -G Ninja
.
สุดท้ายให้รันบิลด์และติดตั้งลงในไดเร็กทอรีในเครื่อง:
D:> cmake --build build --config Release
D:> cmake --install build --prefix llvm-install
คุณสามารถแทนที่ Debug
สำหรับ Release
ในคำสั่ง cmake
ด้านบนได้ หากคุณต้องการบิลด์การดีบัก
หากต้องการใช้สิ่งนี้กับ Halide แต่ยังคงอนุญาตให้ vcpkg จัดการการขึ้นต่อกันอื่น ๆ คุณต้องเพิ่มแฟล็กสองรายการลงในบรรทัดคำสั่งกำหนดค่า CMake ของ Halide ขั้นแรก ให้ปิดการใช้งาน LLVM ด้วย -DVCPKG_OVERLAY_PORTS=cmake/vcpkg
ประการที่สอง ชี้ CMake ไปที่ Halide ที่สร้างขึ้นใหม่ของเราด้วย -DHalide_LLVM_ROOT=D:/llvm-install
ทำสิ่งที่ buildbots ทำ: https://buildbot.halide-lang.org/master/#/builders
หากแถวที่ตรงกับระบบของคุณมากที่สุดคือสีแดง แสดงว่าสิ่งต่างๆ อาจไม่เสียหายสำหรับคุณ หากเป็นสีเขียว คุณสามารถคลิกผ่านไปยังบิลด์ล่าสุดและดูคำสั่งที่บอทบิลด์รันได้ เปิดขั้นตอน (มีประโยชน์ "กำหนดค่า Halide") และดูบันทึก "stdio" ในวิวเวอร์ บันทึกเหล่านี้ประกอบด้วยคำสั่งเต็มรูปแบบที่เรียกใช้ รวมถึงตัวแปรสภาพแวดล้อมที่เรียกใช้ด้วย
คำเตือน
เราไม่ให้การสนับสนุน Makefile ใช้งานได้ตามใจชอบ แต่หากมีสิ่งผิดปกติเกิดขึ้น ให้เปลี่ยนไปใช้ CMake build โปรดทราบว่า Makefile ไม่สามารถสร้างการผูก Python หรือสร้างแพ็คเกจการติดตั้งได้
TL; DR : ติดตั้ง LLVM 17 (หรือสูงกว่า) และรัน make
ในไดเร็กทอรีรากของที่เก็บ (โดยที่ README นี้อยู่)
ตามค่าเริ่มต้น make
จะใช้เครื่องมือ llvm-config
ที่พบใน PATH
หากคุณต้องการใช้ LLVM อื่น เช่น LLVM ที่สร้างขึ้นเองตามคำแนะนำข้างต้น ให้ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้:
$ export LLVM_CONFIG= " $LLVM_ROOT /bin/llvm-config "
ตอนนี้คุณควรจะสามารถรัน make
ในไดเร็กทอรีรากของแผนผังต้นทาง Halide ได้ make run_tests
จะรันชุดทดสอบ JIT และ make test_apps
จะตรวจสอบให้แน่ใจว่าแอพทั้งหมดคอมไพล์และรัน (แต่จะไม่ตรวจสอบผลลัพธ์)
เมื่อสร้างการทดสอบ คุณสามารถกำหนดเป้าหมายการคอมไพล์ AOT ด้วยตัวแปรสภาพแวดล้อม HL_TARGET
หากคุณต้องการสร้าง Halide ในไดเร็กทอรีแยกต่างหาก คุณสามารถทำได้ดังนี้:
$ cd ..
$ mkdir halide_build
$ cd halide_build
$ make -f ../Halide/Makefile
HL_JIT_TARGET=...
จะกำหนดเป้าหมายการรวบรวม JIT ของ Halide
HL_DEBUG_CODEGEN=1
จะพิมพ์รหัสเทียมสำหรับสิ่งที่ Halide กำลังรวบรวม ตัวเลขที่สูงกว่าจะพิมพ์รายละเอียดมากขึ้น
HL_NUM_THREADS=...
ระบุจำนวนเธรดที่จะสร้างสำหรับเธรดพูล เมื่อใช้คำสั่งการจัดกำหนดการแบบอะซิงก์ อาจจำเป็นต้องมีเธรดมากกว่าจำนวนนี้ และดังนั้นจึงจัดสรร อนุญาตให้มีเธรดได้สูงสุด 256 เธรด (ตามค่าเริ่มต้น จะใช้จำนวนคอร์บนโฮสต์)
HL_TRACE_FILE=...
ระบุไฟล์เป้าหมายแบบไบนารีที่จะดัมพ์ข้อมูลการติดตามไป (ละเว้นเว้นแต่ว่าจะมีการเปิดใช้งานคุณสมบัติ trace_
อย่างน้อยหนึ่งรายการในเป้าหมาย) เอาต์พุตสามารถแยกวิเคราะห์โดยทางโปรแกรมโดยเริ่มจากโค้ดใน utils/HalideTraceViz.cpp
เรามีเอกสารประกอบเพิ่มเติมใน doc/
ลิงก์ต่อไปนี้อาจเป็นประโยชน์:
เอกสาร | คำอธิบาย |
---|---|
CMake สร้าง | วิธีกำหนดค่าและสร้าง Halide โดยใช้ CMake |
แพ็คเกจ CMake | วิธีใช้แพ็คเกจ Halide CMake เพื่อสร้างโค้ดของคุณ |
หกเหลี่ยม | วิธีใช้แบ็กเอนด์หกเหลี่ยม |
หลาม | เอกสารประกอบสำหรับการผูก Python |
รันเจน | วิธีใช้อินเทอร์เฟซ RunGen เพื่อรันและเปรียบเทียบไปป์ไลน์ตามอำเภอใจ |
วัลแคน | วิธีใช้แบ็กเอนด์ Halide Vulkan (เบต้า) |
Webแอสเซมบลี | วิธีใช้แบ็กเอนด์ WebAssembly และวิธีใช้ V8 แทน wabt |
เว็บGPU | วิธีเรียกใช้ไปป์ไลน์ WebGPU (เบต้า) |
ลิงก์ต่อไปนี้เป็นที่สนใจมากขึ้นสำหรับนักพัฒนาที่ต้องการสนับสนุนโค้ดให้กับ Halide:
เอกสาร | คำอธิบาย |
---|---|
นักพัฒนา CMake | แนวทางสำหรับการเขียนโค้ด CMake ใหม่ |
การทดสอบ Fuzz | ข้อมูลเกี่ยวกับการทดสอบฟัซซีคอมไพเลอร์ Halide (แทนที่จะเป็นไปป์ไลน์) มีไว้สำหรับนักพัฒนาภายใน |