
# This file was generated by the build system used internally in Yandex and called "ya"
# (https://github.com/yandex/yatool).
#
# Configuration files of ya build system are usually named ya.make. If ya.make file is present
# at the root of the repository, then this repository supports ya build. 
# 
# If the repository supports both CMake and ya build configurations, please modify both of them.
#
# If only CMake build configuration is supported then modify only CMake files and note that only
# simple modifications are allowed like adding source-files to targets or adding simple properties
# like target_include_directories. These modifications will be ported to original ya.make files
# by maintainers. Any complex modifications which can't be easily ported back to the ya build 
# system may be rejected.

find_package(CUDAToolkit REQUIRED)
add_library(libs-model-cuda)


target_cuda_sources(libs-model-cuda PRIVATE
  ${PROJECT_SOURCE_DIR}/catboost/libs/model/cuda/evaluator.cu
)

target_link_libraries(libs-model-cuda PUBLIC
  contrib-libs-cxxsupp
  yutil
  catboost-libs-model
  cpp-cuda-wrappers
  CUDA::toolkit
)



target_cuda_cflags(libs-model-cuda)

target_cuda_flags(libs-model-cuda
  -gencode
  arch=compute_35,code=sm_35
  -gencode
  arch=compute_50,code=compute_50
  -gencode
  arch=compute_52,code=sm_52
  -gencode
  arch=compute_60,code=compute_60
  -gencode
  arch=compute_61,code=compute_61
  -gencode
  arch=compute_61,code=sm_61
  -gencode
  arch=compute_70,code=sm_70
  -gencode
  arch=compute_70,code=compute_70
  --ptxas-options=-v
  -lineinfo
  --use_fast_math
  -gencode=arch=compute_80,code=sm_80
  -gencode=arch=compute_86,code=sm_86
  -gencode=arch=compute_89,code=sm_89
  -gencode=arch=compute_90,code=sm_90
)


add_global_library_for(libs-model-cuda.global
  libs-model-cuda)


target_link_libraries(libs-model-cuda.global PUBLIC
  contrib-libs-cxxsupp
  yutil
  catboost-libs-model
  cpp-cuda-wrappers
  CUDA::toolkit
)

target_sources(libs-model-cuda.global PRIVATE
  ${PROJECT_SOURCE_DIR}/catboost/libs/model/cuda/evaluator.cpp
)






