Mlir-opt не распознает тензор диалектаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Mlir-opt не распознает тензор диалекта

Сообщение Anonymous »

Я создал MLIR, следуя оригинальным инструкциям, и следовал игрушечному руководству, чтобы изучить основы. Я попытался добавить диалекты Tensor и Linalg в реестр контекста в репозитории учебников по игрушкам, чтобы использовать инструмент toy-opt для сокращения кода, например

Код: Выделить всё

func.func @main() {
%static_tensor = tensor.empty() : tensor
return
}

чтобы проверить, доступны ли тензорный диалект и линалг, но я всегда получаю такие ошибки, как:

Код: Выделить всё

loc("./test/Engine/tensorLinalg.mlir":11:35): error: expected ':'
Error can't load file ./test/Engine/tensorLinalg.mlir
lli: Symbols not found: [ main ]
Поэтому я попробовал использовать mlir-opt в репозитории mlir внутри llvm-project, но кажется, что диалекты, перечисленные на странице mlir (https://mlir.llvm.org/docs /Диалекты/) по умолчанию не регистрируются:

Код: Выделить всё

test_llvm.mlir:3:10: error: Dialect `tensor' not found for custom op 'tensor.empty'
%0 = tensor.empty() : tensor
^
test_llvm.mlir:3:10: note: Registered dialects: acc, amx, arm_neon, arm_sme, arm_sve, builtin, dlti, func, gpu, llvm, nvvm, omp, rocdl, spirv, vcix, x86vector ; for more info on dialect registration see https://mlir.llvm.org/getting_started/Faq/#registered-loaded-dependent-whats-up-with-dialects-management
Я хочу использовать только диалекты arith, memref, linalg и тензорные, из которых arith и memref я уже могу использовать, и опустить их до llvm. Есть ли какой-нибудь доступный проект, который может помочь мне с шаблоном? Любая помощь будет принята с благодарностью.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ect-tensor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»