How to develop vpto ops #416
Replies: 4 comments 13 replies
|
Another related question: how to design the corresponding PTODSL syntax for the A2A3 micro instructions? pto.vadd(TileOut[row, col:], TileIn1[row, col:], TileIn2[row, col:], mask)And this style is also acceptable if the user need: ptr_out = TileOut.as_ptr() + offset
ptr_in1 = TileIn1.as_ptr() + offset
ptr_in2 = TileIn2.as_ptr() + offset
pto.vadd(ptr_out, ptr_in1, ptr_in2, mask) |
|
I would prefer a separate files
I think the correct way is to lower/expand |
|
In the document I see 2 signatures for some ops, one is the one that I am familiar with from CCE (i.e. with block and repeat strides) what is the other one with config param? For instance void __builtin_cce_vadd(__ubuf__ int16_t* dst, __ubuf__ int16_t* src0, __ubuf__ int16_t* src1, uint64_t config);
void __builtin_cce_vadd(__ubuf__ int16_t* dst, __ubuf__ int16_t* src0, __ubuf__ int16_t* src1, uint8_t repeat, uint8_t dstBlockStride, uint8_t src0BlockStride, uint8_t src1BlockStride, uint8_t dstRepeatStride, uint8_t src0RepeatStride, uint8_t src1RepeatStride);The document seems to suggest that the llvm intrisic maps to the the one with config declare void @llvm.hivm.VADD.s16(ptr addrspace(6) nocapture writeonly, ptr addrspace(6) nocapture readonly, ptr addrspace(6) nocapture readonly, i64) #1Is the config param packing the strides? If so how? |
|
what is the intrinsic for |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Now our ptoas only lower a5 codes to vpto backend. To support a2a3 ops, some inputs and major files to change as below:
__builtin_cce_scatter_vadds_f16. It's recommended to define them directly asscatter_vaddsand deduce the type based on the pointer type in the MLIR. For example,pto.scatter_vadds pto.ptr<f16, ub>, ...test/vpto/cases/micro-op, a case is a directory contains main.cpp+launch.cpp+kernel.pto+golden.py+compare.pydocs/isa/micro-isaQuestions:
The attached builtin list has been moved to
docs/designes/a2a3-vector-builtins.mdbranch:feature-vpto-a2a3All reactions