57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_package(CUDA)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if( CUDA_INCLUDE_DIRS AND CUDA_VERSION AND CUDA_NVCC_EXECUTABLE)
							 | 
						||
| 
								 | 
							
									message(STATUS "CUDA_VERSION = ${CUDA_VERSION}")
							 | 
						||
| 
								 | 
							
									message(STATUS "CUDA_INCLUDE_DIRS = ${CUDA_INCLUDE_DIRS}")
							 | 
						||
| 
								 | 
							
									message(STATUS "CUDA_NVCC_EXECUTABLE = ${CUDA_NVCC_EXECUTABLE}")
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								    set( HIP_PLATFORM "nvcc" )
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									#export the environment variable, so that HIPCC can find it.
							 | 
						||
| 
								 | 
							
								    set(ENV{HIP_PLATFORM} nvcc)
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								else()
							 | 
						||
| 
								 | 
							
									find_package(HCC)
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									message(STATUS "HCC_FOUND = ${HCC_FOUND}")
							 | 
						||
| 
								 | 
							
									message(STATUS "HCC = ${HCC}")
							 | 
						||
| 
								 | 
							
									message(STATUS "HCC_INCLUDE_DIRS = ${HCC_INCLUDE_DIRS}")
							 | 
						||
| 
								 | 
							
									message(STATUS "HSA_LIBRARIES = ${HSA_LIBRARIES}")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if( ${HCC_FOUND} STREQUAL  "TRUE" )
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									# This directory is hip/cmake! HIP_PATH should be one directory up!
							 | 
						||
| 
								 | 
							
										set (HIP_PATH $ENV{HIP_PATH})
							 | 
						||
| 
								 | 
							
										if (NOT DEFINED HIP_PATH)
							 | 
						||
| 
								 | 
							
											set (HIP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..)
							 | 
						||
| 
								 | 
							
											set( ENV{HIP_PATH} ${HIP_PATH})
							 | 
						||
| 
								 | 
							
										endif()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										message(STATUS "ENV HIP_PATH = $ENV{HIP_PATH}")
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										find_program(HIPCC
							 | 
						||
| 
								 | 
							
											NAMES  hipcc
							 | 
						||
| 
								 | 
							
											PATHS
							 | 
						||
| 
								 | 
							
												ENV HIP_PATH
							 | 
						||
| 
								 | 
							
											PATH_SUFFIXES
							 | 
						||
| 
								 | 
							
												/bin)
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											message(STATUS "HIPCC = ${HIPCC}")
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										if( DEFINED HIPCC)
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								            set( HIP_PLATFORM "hcc" )		
							 | 
						||
| 
								 | 
							
											#export the environment variable, so that HIPCC can find it.
							 | 
						||
| 
								 | 
							
								            set(ENV{HIP_PLATFORM} "hcc")	
							 | 
						||
| 
								 | 
							
											set (CMAKE_CXX_COMPILER ${HIPCC})
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										else()
							 | 
						||
| 
								 | 
							
											message(SEND_ERROR "Did not find HIPCC")
							 | 
						||
| 
								 | 
							
										endif()
							 | 
						||
| 
								 | 
							
									else()
							 | 
						||
| 
								 | 
							
										message(SEND_ERROR "hcc not found")
							 | 
						||
| 
								 | 
							
									endif()
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								endif()
							 |