tenstorrent / tt-umd

User-Mode Driver for Tenstorrent hardware
Apache License 2.0
9 stars 6 forks source link

Explore an IOMMU based scheme that mimics sysmem API for GS/WH #257

Open joelsmithTT opened 2 weeks ago

joelsmithTT commented 2 weeks ago

In UMD, "sysmem" refers to 1G hugepages used as shared buffers between device and host. The APIs for system include tt_SiliconDevice constructor (specifies number of "channels") and accessor methods (read/write/get pointer to buffer) that are channel based.

While preserving the API, write an alternate implementation that does not huge hugepages, but relies on the KMD ability to map physically noncontiguous buffers to a contiguous IO virtual address space seen by the device.

The challenges at the system level:

Challenge at the user driver level:

nsmithtt commented 2 weeks ago

dma_alloc_coherent or dma_pool_create might be useful in getting aligned memory?