mirror of
https://github.com/nomic-ai/kompute.git
synced 2026-05-11 00:49:58 +00:00
Added flag to be able to disable shader utilities
This commit is contained in:
@@ -19,6 +19,7 @@ option(KOMPUTE_OPT_ENABLE_SPDLOG "Extra compile flags for Kompute, see docs for
|
||||
option(KOMPUTE_OPT_REPO_SUBMODULE_BUILD, "Use the submodule repos instead of external package manager" 0)
|
||||
option(KOMPUTE_OPT_ANDOID_BUILD "Enable android compilation flags required" 0)
|
||||
option(KOMPUTE_OPT_DISABLE_VK_DEBUG_LAYERS "Explicitly disable debug layers even on debug" 0)
|
||||
option(KOMPUTE_OPT_DISABLE_SHADER_UTILS "Remove shader util code and dependencies including glslang" 0)
|
||||
# Build flags
|
||||
set(KOMPUTE_EXTRA_CXX_FLAGS "" CACHE STRING "Extra compile flags for Kompute, see docs for full list")
|
||||
|
||||
@@ -42,10 +43,15 @@ if(KOMPUTE_OPT_DISABLE_VK_DEBUG_LAYERS)
|
||||
set(KOMPUTE_EXTRA_CXX_FLAGS "${KOMPUTE_EXTRA_CXX_FLAGS} -DKOMPUTE_DISABLE_VK_DEBUG_LAYERS=1")
|
||||
endif()
|
||||
|
||||
if(KOMPUTE_OPT_INSTALL)
|
||||
# Enable install parameters for glslang (overrides parameters passed)
|
||||
set(ENABLE_GLSLANG_INSTALL ON CACHE BOOL "Enables install of glslang" FORCE)
|
||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "Enables build of shared libraries" FORCE)
|
||||
if(NOT KOMPUTE_OPT_DISABLE_SHADER_UTILS)
|
||||
if(KOMPUTE_OPT_INSTALL)
|
||||
# Enable install parameters for glslang (overrides parameters passed)
|
||||
# When install is enabled the glslang libraries become shared
|
||||
set(ENABLE_GLSLANG_INSTALL ON CACHE BOOL "Enables install of glslang" FORCE)
|
||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "Enables build of shared libraries" FORCE)
|
||||
endif()
|
||||
else()
|
||||
set(KOMPUTE_EXTRA_CXX_FLAGS "${KOMPUTE_EXTRA_CXX_FLAGS} -DKOMPUTE_DISABLE_SHADER_UTILS=1")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG=1 ${KOMPUTE_EXTRA_CXX_FLAGS} -DUSE_DEBUG_EXTENTIONS")
|
||||
|
||||
@@ -65,6 +65,8 @@ Compile Flags
|
||||
- Enable debug build including debug flags (enabled by cmake debug build)
|
||||
* - -DKOMPUTE_DISABLE_VK_DEBUG_LAYERS
|
||||
- Disable the debug Vulkan layers, mainly used for android builds
|
||||
* - -DKOMPUTE_DISABLE_SHADER_UTILS
|
||||
- Disable the shader utils and skip adding glslang as dependency
|
||||
|
||||
|
||||
Dependencies
|
||||
|
||||
@@ -30,7 +30,7 @@ PYBIND11_MODULE(kp, m) {
|
||||
.value("storage", kp::Tensor::TensorTypes::eStorage, "Tensor with host visible gpu memory.")
|
||||
.export_values();
|
||||
|
||||
|
||||
#if !defined(KOMPUTE_DISABLE_SHADER_UTILS) || !KOMPUTE_DISABLE_SHADER_UTILS
|
||||
py::class_<kp::Shader>(m, "Shader", "Shader class")
|
||||
.def_static("compile_source", [](
|
||||
const std::string& source,
|
||||
@@ -51,6 +51,7 @@ PYBIND11_MODULE(kp, m) {
|
||||
},
|
||||
"Compiles sources provided with file names and returns the value in bytes",
|
||||
py::arg("sources"), py::arg("files") = std::vector<std::string>(), py::arg("entryPoint") = "main", py::arg("definitions") = std::vector<std::pair<std::string,std::string>>() );
|
||||
#endif // KOMPUTE_DISABLE_SHADER_UTILS
|
||||
|
||||
py::class_<kp::Tensor, std::shared_ptr<kp::Tensor>>(m, "Tensor", DOC(kp, Tensor))
|
||||
.def(py::init(
|
||||
|
||||
@@ -107,6 +107,7 @@ extern py::object kp_debug, kp_info, kp_warning, kp_error;
|
||||
#endif // KOMPUTE_SPDLOG_ENABLED
|
||||
#endif // KOMPUTE_LOG_OVERRIDE
|
||||
|
||||
#if !defined(KOMPUTE_DISABLE_SHADER_UTILS) || !KOMPUTE_DISABLE_SHADER_UTILS
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
@@ -159,6 +160,7 @@ public:
|
||||
|
||||
};
|
||||
}
|
||||
#endif // DKOMPUTE_DISABLE_SHADER_UTILS
|
||||
|
||||
/*
|
||||
THIS FILE HAS BEEN AUTOMATICALLY GENERATED - DO NOT EDIT
|
||||
|
||||
@@ -109,35 +109,37 @@ endif()
|
||||
#################### GLSLANG #######################
|
||||
#####################################################
|
||||
|
||||
if(KOMPUTE_OPT_REPO_SUBMODULE_BUILD)
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/external/glslang
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kompute_glslang)
|
||||
if(NOT KOMPUTE_OPT_DISABLE_SHADER_UTILS)
|
||||
if(KOMPUTE_OPT_REPO_SUBMODULE_BUILD)
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/external/glslang
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kompute_glslang)
|
||||
|
||||
target_include_directories(
|
||||
kompute PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/external/glslang)
|
||||
target_include_directories(
|
||||
kompute PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/external/glslang)
|
||||
|
||||
target_link_libraries(kompute
|
||||
# Not including hlsl support
|
||||
# HLSL
|
||||
# glslang includes OGLCompiler, OSDependent, MachineIndependent
|
||||
glslang
|
||||
SPIRV
|
||||
glslang-default-resource-limits)
|
||||
else()
|
||||
find_package(glslang CONFIG REQUIRED)
|
||||
target_link_libraries(kompute
|
||||
# Not including hlsl support
|
||||
# HLSL
|
||||
# glslang includes OGLCompiler, OSDependent, MachineIndependent
|
||||
glslang
|
||||
SPIRV
|
||||
glslang-default-resource-limits)
|
||||
else()
|
||||
find_package(glslang CONFIG REQUIRED)
|
||||
|
||||
target_include_directories(
|
||||
kompute PRIVATE
|
||||
${GLSLANG_GENERATED_INCLUDEDIR})
|
||||
target_include_directories(
|
||||
kompute PRIVATE
|
||||
${GLSLANG_GENERATED_INCLUDEDIR})
|
||||
|
||||
target_link_libraries(kompute
|
||||
# Not including hlsl support
|
||||
# glslang::HLSL
|
||||
# Adding explicit dependencies to match above
|
||||
glslang
|
||||
SPIRV
|
||||
glslang-default-resource-limits)
|
||||
target_link_libraries(kompute
|
||||
# Not including hlsl support
|
||||
# glslang::HLSL
|
||||
# Adding explicit dependencies to match above
|
||||
glslang
|
||||
SPIRV
|
||||
glslang-default-resource-limits)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
#if !defined(KOMPUTE_DISABLE_SHADER_UTILS) || !KOMPUTE_DISABLE_SHADER_UTILS
|
||||
#include "kompute/Shader.hpp"
|
||||
|
||||
namespace kp {
|
||||
@@ -92,3 +93,4 @@ Shader::compile_source(const std::string& source,
|
||||
}
|
||||
|
||||
}
|
||||
#endif // DKOMPUTE_DISABLE_SHADER_UTILS
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#if !defined(KOMPUTE_DISABLE_SHADER_UTILS) || !KOMPUTE_DISABLE_SHADER_UTILS
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
@@ -54,3 +55,5 @@ public:
|
||||
|
||||
};
|
||||
}
|
||||
#endif // DKOMPUTE_DISABLE_SHADER_UTILS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user