<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/116747>116747</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir][nvvm] NVPTXSerializer does not support FATBIN target in compileToBinaryNVPTX flow
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
MikaOvO
</td>
</tr>
</table>
<pre>
In `lib/Target/LLVM/NVVM/Target.cpp`, `NVPTXSerializer` compile `PTX` to binary with two different flows controlled by `MLIR_ENABLE_NVPTXCOMPILER`.
If building mlir with `-DMLIR_ENABLE_NVPTXCOMPILER=ON`, the flow does not check if the target is `gpu::CompilationTarget::Fatbin`, and compile `PTX` to `cubin` directly, which is not consistent with another flow.
Is this expected?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U01v4ywQ_jX4ghphHJP64EPS1FKkfFR9o6q3CgO25y0BC3Cy2V-_gmS32tXuxUgD88w8H-beQ2-UqlG5QuU641MYrKt38MkP50PWWnmtNwYjRjS0iDZH7noVEG2227cdos3-LR238kyMI2IE0afYsH97Ob7_pxxwDd-VQ4xgYU8jaBVvX47vsRIsbsFwd8UXCAMOF4sldJ1yygTcaXvxWFgTnNVaSdxeY-tuu3n9eN4vV9vnjzTk6bB72WyfXxEjM0TWiCxv302H2wm0BNPjkwZ3m4EYeVj_G6NYH_Z3EmFQaQcsrfLY2IDFoMQnhi5dhUQag4-Q_TihYomK5VPiyANYcxcrlRseWjB3YG7k37VAjIjp9g5LcEoEfY0NlwHEECelJazx4ENUKBHixoZBubTq7_w9DgN4rL6NSgQlUdHgTNaFrIqKZ6rOF0VeVYu8YtlQl5QXC5JLKoks5FzwR1osSsp4UZY5XbAMakroPM_zirC8KtlsrpgoRNnlHSWie3xEc6JOHPRM6_NpZl2fgfeTqvOcLeaLTPNWaZ-CRmm0A1EaI-fq-P6hnXqP5kSDD_4LIUDQKZypoVyjcmXO5xMq1_iPfH2Z5KdxtC7gZnlcbfa_bDI_JT_aVYpcAkiqZZPT9RDC6KNZtEG06SEMUzsT9oRoE9e5Hw-js_8rEX-BxM4j2twJnmv6IwAA___HCAyn">