| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[flang][cuda] Add TODO for allocate with device source (#163630) | 9 个月前 | |
[flang][cuda] Call runtime initialize for derived type with device components (#157914) | 10 个月前 | |
[flang][cuda] Generate cuf.allocate for descriptor with CUDA components (#152041) The descriptor for derived-type with CUDA components are allocated in managed memory. The lowering was calling the standard runtime on allocate statement where it should be a cuf.allocate operation. | 1 年前 | |
[flang][cuda] Handle associated variables in data transfer (#163668) | 9 个月前 | |
[flang][cuda] Add interface and lowering for atomicadd_r4x2 and atomicadd_r4x4 (#166308) | 9 个月前 | |
[flang] update fir.coordinate_of to carry the fields (#127231) This patch updates fir.coordinate_op to carry the field index as attributes instead of relying on getting it from the fir.field_index operations defining its operands. The rational is that FIR currently has a few operations that require DAGs to be preserved in order to be able to do code generation. This is the case of fir.coordinate_op, which requires its fir.field operand producer to be visible. This makes IR transformation harder/brittle, so I want to update FIR to get rid if this. Codegen/printer/parser of fir.coordinate_of and many tests need to be updated after this change. | 1 年前 | |
[flang][cuda] Update c_loc with device variable to get host address (#164317) Bypass the declare op because it is rewritten in CUFOpConversion and will only provide the device address. c_loc is expected to have the host address of a device address to be used in API like cudaMemcpyToSymbol so we need to provide the address of op directly. | 9 个月前 | |
[flang][cuda] Add support for cluster_block_index in cooperative groups (#169427) | 8 个月前 | |
[flang][cuda] Inline this_thread_block() calls (#146144) | 1 年前 | |
[flang][debug] Track dummy argument positions explicitly. (#167489) CHARACTER dummy arguments were treated as local variables in debug info. This happened because our method to get the argument number was not robust. It relied on DeclareOp having a direct reference to arguments which was not the case for character arguments. This is fixed by storing source-level argument positions in DeclareOp. Fixes #112886 | 8 个月前 | |
[flang][debug] Track dummy argument positions explicitly. (#167489) CHARACTER dummy arguments were treated as local variables in debug info. This happened because our method to get the argument number was not robust. It relied on DeclareOp having a direct reference to arguments which was not the case for character arguments. This is fixed by storing source-level argument positions in DeclareOp. Fixes #112886 | 8 个月前 | |
[flang] Main program symbol no longer conflicts with the other symbols (#149169) The following code is now accepted: module m end program m use m end The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts. This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream. Modified the tests that were checking for lower case main program name. | 1 年前 | |
[MLIR][NVVM] Add support for shared::cta destination (#168056) This patch adds support for shared::cta as destination space in the TMA non-tensor copy Op (from global to shared::cta). * Appropriate verifier checks are added. * Unit tests are added to verify the lowering. The related intrinsic changes were merged through PR #167508. Signed-off-by: Durgadoss R <durgadossr@nvidia.com> | 8 个月前 | |
[flang] update fir.coordinate_of to carry the fields (#127231) This patch updates fir.coordinate_op to carry the field index as attributes instead of relying on getting it from the fir.field_index operations defining its operands. The rational is that FIR currently has a few operations that require DAGs to be preserved in order to be able to do code generation. This is the case of fir.coordinate_op, which requires its fir.field operand producer to be visible. This makes IR transformation harder/brittle, so I want to update FIR to get rid if this. Codegen/printer/parser of fir.coordinate_of and many tests need to be updated after this change. | 1 年前 | |
Delete duplicated hlfir.declare op of induction variables of do concurrent when inside cuf kernel directive. (#134467) Delete duplicated creation of hlfir.declare op of do concurrent induction variables when inside cuf kernel directive. Obtain the correct hlfir.declare op generated from bindSymbol, and add it to ivValues. | 1 年前 | |
[flang][cuda] Remove the need of special compile definition for CUFInit (#124965) This patch addresses post commit review comments from #124859. The extra compile definition is not necessary and goes against the effort to separate the runtimes from the flang compiler itself. The function declaration for CUFInit can be accessed anyway since the header are always present. The insertion of the call is only based on the language feature options from the folding context. A program compiled with cuda enabled but no cufruntime would just fail at link time as expected. | 1 年前 | |
[flang][cuda][NFC] Adding missing tests (#125755) I thought I had added tests together with https://github.com/llvm/llvm-project/pull/125276 But there are still in my sandbox. These are the tests that were meant for this PR. | 1 年前 | |
[flang][cuda] Set alloca block in cuf kernel (#128776) Temporary created during lowering in a cuf kernel must be set in the cuf kernel itself otherwise they will be allocated on the host. | 1 年前 | |
[flang][cuda] Accept scalar expression for bytes in kernel call (#165040) | 9 个月前 | |
[flang] Add reductions for CUF Kernels: Lowering (#95184) * Add reductionOperands and reductionAttrs to cuf's KernelOp. * Parsing is already working and the tree has the info: here I make the Bridge emit the updated KernelOp with reduction information added. * Check |reductionAttrs| = |reductionOperands| in verifier * Add a test @clementval @vzakhari --------- Co-authored-by: Iman Hosseini <imanh@nvidia.com> Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval@gmail.com> | 2 年前 | |
[flang][cuda] Update stream type for cuf kernel op (#136627) Update the type of the stream operand to be similar to KernelLaunchOp. | 1 年前 | |
[flang][cuda] Update some bind name to fast version and add __sincosf (#153744) Use the fast version in the bind name and reorder these fast math functions. Add missing __sincosf interface. | 11 个月前 | |
[flang][cuda] Move function result assignment to managed variable on host (#163705) - Update data transfer detection to let an assignment with a host rhs and managed lhs to be performed on the host. This helps if the rhs is a function result. - Fix test cuda-maanaged-cuf introduces on eef4b5a. The test was not checking for the implicit transfer but the explicit transfer that was part of the first loop. | 9 个月前 | |
[flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317) The number of operations dedicated to CUF grew and where all still in FIR. In order to have a better organization, the CUF operations, attributes and code is moved into their specific dialect and files. CUF dialect is tightly coupled with HLFIR/FIR and their types. The CUF attributes are bundled into their own library since some HLFIR/FIR operations depend on them and the CUF dialect depends on the FIR types. Without having the attributes into a separate library there would be a dependency cycle. | 2 年前 | |
[flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317) The number of operations dedicated to CUF grew and where all still in FIR. In order to have a better organization, the CUF operations, attributes and code is moved into their specific dialect and files. CUF dialect is tightly coupled with HLFIR/FIR and their types. The CUF attributes are bundled into their own library since some HLFIR/FIR operations depend on them and the CUF dialect depends on the FIR types. Without having the attributes into a separate library there would be a dependency cycle. | 2 年前 | |
[flang][cuda] Sync global descriptor when nullifying pointer (#121595) | 1 年前 | |
[flang][cuda] Sync double descriptor after c_f_pointer call (#130194) After a global device pointer is set through c_f_pointer, we need to sync the double descriptor so the version on the device is also up to date. | 1 年前 | |
[flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317) The number of operations dedicated to CUF grew and where all still in FIR. In order to have a better organization, the CUF operations, attributes and code is moved into their specific dialect and files. CUF dialect is tightly coupled with HLFIR/FIR and their types. The CUF attributes are bundled into their own library since some HLFIR/FIR operations depend on them and the CUF dialect depends on the FIR types. Without having the attributes into a separate library there would be a dependency cycle. | 2 年前 | |
| 1 年前 | ||
[flang] Main program symbol no longer conflicts with the other symbols (#149169) The following code is now accepted: module m end program m use m end The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts. This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream. Modified the tests that were checking for lower case main program name. | 1 年前 | |
[flang] Main program symbol no longer conflicts with the other symbols (#149169) The following code is now accepted: module m end program m use m end The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts. This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream. Modified the tests that were checking for lower case main program name. | 1 年前 | |
[flang][cuda] Do not add contiguity check with ignore_tkr(c) is present (#160363) | 10 个月前 | |
[flang][cuda] Do not generate cuf.alloc/cuf.free in device context (#141117) cuf.alloc and cuf.free are converted to fir.alloca or deleted when in device context during the CUFOpConversion pass. Do not generate them in lowering to avoid confusion. | 1 年前 | |
[flang][cuda] Allow assumed-size declaration for SHARED variable (#130833) Avoid triggering an assertion for shared variable using the assumed-size syntax. attributes(global) subroutine sharedstar() real, shared :: s(*) ! ok. dynamic shared memory. end subroutine | 1 年前 | |
[flang][cuda] Make sure stream is a i64 reference (#157957) When the stream is a scalar constant, it is lowered as i32. Stream needs to be i64 to pass the verifier. Detect and update the stream reference when it is i32. | 10 个月前 | |
| 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 8 个月前 |