[MLIR] Split out GPU ops library from Transforms
Split out GPU ops library from GPU transforms. This allows libraries to depend on GPU Ops without needing/building its transforms. Differential Revision: https://reviews.llvm.org/D105472
This commit is contained in:
parent
593bf9b4de
commit
4acf3807e3
|
@ -23,7 +23,7 @@ add_mlir_public_c_api_library(MLIRCAPIGPU
|
|||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRCAPIIR
|
||||
MLIRGPU
|
||||
MLIRGPUTransforms
|
||||
MLIRPass
|
||||
)
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ add_mlir_conversion_library(MLIRGPUToGPURuntimeTransforms
|
|||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRAsyncToLLVM
|
||||
MLIRGPU
|
||||
MLIRGPUTransforms
|
||||
MLIRIR
|
||||
MLIRLLVMIR
|
||||
MLIRPass
|
||||
|
|
|
@ -11,7 +11,7 @@ add_mlir_conversion_library(MLIRGPUToNVVMTransforms
|
|||
MLIRGPUToNVVMIncGen
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRGPUToGPURuntimeTransforms
|
||||
MLIRLLVMIR
|
||||
MLIRMemRef
|
||||
|
|
|
@ -10,7 +10,7 @@ add_mlir_conversion_library(MLIRGPUToROCDLTransforms
|
|||
MLIRGPUToROCDLIncGen
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRGPUToGPURuntimeTransforms
|
||||
MLIRLLVMIR
|
||||
MLIRROCDLIR
|
||||
|
|
|
@ -6,7 +6,7 @@ add_mlir_conversion_library(MLIRGPUToSPIRV
|
|||
MLIRConversionPassIncGen
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRIR
|
||||
MLIRPass
|
||||
MLIRSCFToSPIRV
|
||||
|
|
|
@ -6,7 +6,7 @@ add_mlir_conversion_library(MLIRGPUToVulkanTransforms
|
|||
MLIRConversionPassIncGen
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRIR
|
||||
MLIRLLVMIR
|
||||
MLIRPass
|
||||
|
|
|
@ -12,7 +12,7 @@ add_mlir_conversion_library(MLIRSCFToGPU
|
|||
MLIRAffine
|
||||
MLIRAffineToStandard
|
||||
MLIRComplex
|
||||
MLIRGPU
|
||||
MLIRGPUTransforms
|
||||
MLIRIR
|
||||
MLIRLinalg
|
||||
MLIRMemRef
|
||||
|
|
|
@ -11,7 +11,7 @@ add_mlir_conversion_library(MLIRSPIRVToLLVM
|
|||
intrinsics_gen
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRSPIRV
|
||||
MLIRSPIRVUtils
|
||||
MLIRLLVMIR
|
||||
|
|
|
@ -8,7 +8,7 @@ add_mlir_conversion_library(MLIRVectorToGPU
|
|||
Core
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRLLVMIR
|
||||
MLIRMemRef
|
||||
MLIRTransforms
|
||||
|
|
|
@ -16,8 +16,25 @@ if (MLIR_ENABLE_ROCM_CONVERSIONS)
|
|||
)
|
||||
endif()
|
||||
|
||||
add_mlir_dialect_library(MLIRGPU
|
||||
add_mlir_dialect_library(MLIRGPUOps
|
||||
IR/GPUDialect.cpp
|
||||
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/GPU
|
||||
|
||||
DEPENDS
|
||||
MLIRGPUOpsIncGen
|
||||
MLIRGPUOpInterfacesIncGen
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRDLTI
|
||||
MLIRIR
|
||||
MLIRMemRef
|
||||
MLIRSideEffectInterfaces
|
||||
MLIRSupport
|
||||
)
|
||||
|
||||
add_mlir_dialect_library(MLIRGPUTransforms
|
||||
Transforms/AllReduceLowering.cpp
|
||||
Transforms/AsyncRegionRewriter.cpp
|
||||
Transforms/KernelOutlining.cpp
|
||||
|
@ -37,8 +54,6 @@ add_mlir_dialect_library(MLIRGPU
|
|||
${AMDGPU_LIBS}
|
||||
|
||||
DEPENDS
|
||||
MLIRGPUOpsIncGen
|
||||
MLIRGPUOpInterfacesIncGen
|
||||
MLIRGPUPassIncGen
|
||||
MLIRParallelLoopMapperAttrGen
|
||||
MLIRParallelLoopMapperEnumsGen
|
||||
|
@ -46,14 +61,13 @@ add_mlir_dialect_library(MLIRGPU
|
|||
LINK_LIBS PUBLIC
|
||||
MLIRAsync
|
||||
MLIRDataLayoutInterfaces
|
||||
MLIRDLTI
|
||||
MLIRGPUOps
|
||||
MLIRIR
|
||||
MLIRMemRef
|
||||
MLIRLLVMIR
|
||||
MLIRLLVMToLLVMIRTranslation
|
||||
MLIRSCF
|
||||
MLIRMemRef
|
||||
MLIRPass
|
||||
MLIRSideEffectInterfaces
|
||||
MLIRSCF
|
||||
MLIRStandard
|
||||
MLIRSupport
|
||||
MLIRTransformUtils
|
||||
|
@ -77,20 +91,20 @@ if(MLIR_ENABLE_CUDA_RUNNER)
|
|||
endif()
|
||||
|
||||
# Enable gpu-to-cubin pass.
|
||||
target_compile_definitions(obj.MLIRGPU
|
||||
target_compile_definitions(obj.MLIRGPUTransforms
|
||||
PRIVATE
|
||||
MLIR_GPU_TO_CUBIN_PASS_ENABLE=1
|
||||
)
|
||||
|
||||
# Add CUDA headers includes and the libcuda.so library.
|
||||
target_include_directories(obj.MLIRGPU
|
||||
target_include_directories(obj.MLIRGPUTransforms
|
||||
PRIVATE
|
||||
${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
|
||||
)
|
||||
|
||||
find_library(CUDA_DRIVER_LIBRARY cuda)
|
||||
|
||||
target_link_libraries(MLIRGPU
|
||||
target_link_libraries(MLIRGPUTransforms
|
||||
PRIVATE
|
||||
MLIRNVVMToLLVMIRTranslation
|
||||
${CUDA_DRIVER_LIBRARY}
|
||||
|
@ -126,21 +140,21 @@ if(MLIR_ENABLE_ROCM_RUNNER)
|
|||
message(STATUS "ROCm HIP version: ${HIP_VERSION}")
|
||||
endif()
|
||||
|
||||
target_compile_definitions(obj.MLIRGPU
|
||||
target_compile_definitions(obj.MLIRGPUOps
|
||||
PRIVATE
|
||||
__HIP_PLATFORM_HCC__
|
||||
__ROCM_PATH__="${ROCM_PATH}"
|
||||
MLIR_GPU_TO_HSACO_PASS_ENABLE=1
|
||||
)
|
||||
|
||||
target_include_directories(obj.MLIRGPU
|
||||
target_include_directories(obj.MLIRGPUOps
|
||||
PRIVATE
|
||||
${MLIR_SOURCE_DIR}/../lld/include
|
||||
${HIP_PATH}/include
|
||||
${ROCM_PATH}/include
|
||||
)
|
||||
|
||||
target_link_libraries(MLIRGPU
|
||||
target_link_libraries(MLIRGPUOps
|
||||
PRIVATE
|
||||
lldELF
|
||||
MLIRROCDLToLLVMIRTranslation
|
||||
|
|
|
@ -10,7 +10,7 @@ add_mlir_library(MLIRGPUTestPasses
|
|||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRAffine
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRGPUToGPURuntimeTransforms
|
||||
MLIRLLVMToLLVMIRTranslation
|
||||
MLIRNVVMIR
|
||||
|
|
|
@ -12,7 +12,7 @@ add_mlir_library(MLIRLinalgTestPasses
|
|||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRAffine
|
||||
MLIRGPU
|
||||
MLIRGPUTransforms
|
||||
MLIRLinalg
|
||||
MLIRLinalgTransforms
|
||||
MLIRLLVMToLLVMIRTranslation
|
||||
|
|
|
@ -12,7 +12,7 @@ add_mlir_library(MLIRSPIRVTestPasses
|
|||
${MLIR_MAIN_INCLUDE_DIR}/mlir/IR
|
||||
|
||||
LINK_LIBS PUBLIC
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRIR
|
||||
MLIRPass
|
||||
MLIRSPIRV
|
||||
|
|
|
@ -17,7 +17,7 @@ if (MLIR_SPIRV_CPU_RUNNER_ENABLED)
|
|||
${conversion_libs}
|
||||
MLIRAnalysis
|
||||
MLIRExecutionEngine
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRIR
|
||||
MLIRJitRunner
|
||||
MLIRLLVMIR
|
||||
|
|
|
@ -57,7 +57,7 @@ if (MLIR_ENABLE_VULKAN_RUNNER)
|
|||
${conversion_libs}
|
||||
MLIRAnalysis
|
||||
MLIRExecutionEngine
|
||||
MLIRGPU
|
||||
MLIRGPUOps
|
||||
MLIRIR
|
||||
MLIRJitRunner
|
||||
MLIRLLVMIR
|
||||
|
|
Loading…
Reference in a new issue