[Matel] 第一個GPU專案

簡介

Matel是指支援Apple GPU的Driver,上一回小編採用OpenCL來對Apple M2 GPU操作,發現各大廠還是希望顧客採用自家GPU Driver,而非open source.

其實滿合理的拉,這麼做不用依循OpenCL的標準,又可以增加顧客的黏著度.像蘋果這樣體量的公司,開發自家的API簡直是再合理不過的選擇.

強者都走自己的路,沒有在跟你合群的

環境建置
創建一個新的 Metal 項目
  1. 打開 Xcode,選擇 “Create a new Xcode project”。
  2. 選擇 “macOS” 作為目標平台,然後選擇 “App” 作為模板進行下一步。
  3. 輸入您的項目信息:
    • 項目名稱
    • Language 選擇 Swift
  4. 選擇您想要保存項目的位置,然後點擊 “Create”。
添加 Metal 文件(一定要添加,否則系統無法辨認Metal函式庫)
  1. 右鍵點擊項目導航器中的項目名稱,選擇 “New File…”。
  2. 在彈出的對話框中,選擇 “Metal”,然後點擊 “Next”。
  3. 輸入文件名,然後點擊 “Create”。
運行代碼

把以下代碼覆蓋至main.swift

運行結果
=== Basic Information ===
	GPU Name: Apple M2
	Registry ID: 4294968399
	Device Location: 0
	Device Location Number: 0

=== Performance Features ===
	Max Threads Per Threadgroup: MTLSize(width: 1024, height: 1024, depth: 1024)
	Max Buffer Length: 4294967296

=== Hardware Capabilities ===
	Is Headless: false
	Is Low Power: false
	Is Removable: false
	Has Unified Memory: true

=== Supported Feature Sets ===
	MTLFeatureSet(rawValue: 10000): true
	MTLFeatureSet(rawValue: 10005): true