| # Copyright (c) 2020-2022, NVIDIA CORPORATION. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without modification, are permitted |
| # provided that the following conditions are met: |
| # * Redistributions of source code must retain the above copyright notice, this list of |
| # conditions and the following disclaimer. |
| # * Redistributions in binary form must reproduce the above copyright notice, this list of |
| # conditions and the following disclaimer in the documentation and/or other materials |
| # provided with the distribution. |
| # * Neither the name of the NVIDIA CORPORATION nor the names of its contributors may be used |
| # to endorse or promote products derived from this software without specific prior written |
| # permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR |
| # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
| # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE |
| # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
| # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
| # STRICT LIABILITY, OR TOR (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|
| ############################################################################### |
| # Source files |
| ############################################################################### |
|
|
| set(SOURCES |
| common.cu |
| common_device.cu |
| cpp_api.cu |
| cutlass_mlp.cu |
| encoding.cu |
| loss.cu |
| network.cu |
| object.cu |
| optimizer.cu |
| reduce_sum.cu |
| ) |
|
|
| if (MIN_GPU_ARCH GREATER_EQUAL 70) |
| list(APPEND SOURCES fully_fused_mlp.cu) |
| endif() |
|
|
| ############################################################################### |
| # Linker / library |
| ############################################################################### |
|
|
| add_library(tiny-cuda-nn STATIC ${SOURCES}) |
| target_link_libraries(tiny-cuda-nn PUBLIC ${CUDA_LIBRARIES} cuda cublas) |
| target_compile_options(tiny-cuda-nn PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:${CUDA_NVCC_FLAGS}>) |
|
|