Skip to content

Commit

Permalink
fix: fix some build bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
lucky9-cyou committed Aug 26, 2024
1 parent 1250c42 commit f493e15
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 64 deletions.
101 changes: 49 additions & 52 deletions cuda_rasterizer/rasterizer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,72 +3,69 @@
* GRAPHDECO research group, https://team.inria.fr/graphdeco
* All rights reserved.
*
* This software is free for non-commercial, research and evaluation use
* This software is free for non-commercial, research and evaluation use
* under the terms of the LICENSE.md file.
*
* For inquiries contact [email protected]
*/

#pragma once

#include <iostream>
#include <vector>
#include "rasterizer.h"
#include <cstdint>
#include <cuda_runtime_api.h>
#include <iostream>
#include <vector>

namespace CudaRasterizer
{
template <typename T>
static void obtain(char*& chunk, T*& ptr, std::size_t count, std::size_t alignment)
{
std::size_t offset = (reinterpret_cast<std::uintptr_t>(chunk) + alignment - 1) & ~(alignment - 1);
ptr = reinterpret_cast<T*>(offset);
chunk = reinterpret_cast<char*>(ptr + count);
}
namespace CudaRasterizer {
template <typename T>
static void obtain(char *&chunk, T *&ptr, std::size_t count,
std::size_t alignment) {
std::size_t offset =
(reinterpret_cast<std::uintptr_t>(chunk) + alignment - 1) &
~(alignment - 1);
ptr = reinterpret_cast<T *>(offset);
chunk = reinterpret_cast<char *>(ptr + count);
}

struct GeometryState
{
size_t scan_size;
float* depths;
char* scanning_space;
bool* clamped;
int* internal_radii;
float2* means2D;
float* cov3D;
float4* conic_opacity;
float* rgb;
uint32_t* point_offsets;
uint32_t* tiles_touched;
struct GeometryState {
size_t scan_size;
float *depths;
char *scanning_space;
bool *clamped;
int *internal_radii;
float2 *means2D;
float *cov3D;
float4 *conic_opacity;
float *rgb;
uint32_t *point_offsets;
uint32_t *tiles_touched;

static GeometryState fromChunk(char*& chunk, size_t P);
};
static GeometryState fromChunk(char *&chunk, size_t P);
};

struct ImageState
{
uint2* ranges;
uint32_t* n_contrib;
float* accum_alpha;
struct ImageState {
uint2 *ranges;
uint32_t *n_contrib;
float *accum_alpha;

static ImageState fromChunk(char*& chunk, size_t N);
};
static ImageState fromChunk(char *&chunk, size_t N);
};

struct BinningState
{
size_t sorting_size;
uint64_t* point_list_keys_unsorted;
uint64_t* point_list_keys;
uint32_t* point_list_unsorted;
uint32_t* point_list;
char* list_sorting_space;
struct BinningState {
size_t sorting_size;
uint64_t *point_list_keys_unsorted;
uint64_t *point_list_keys;
uint32_t *point_list_unsorted;
uint32_t *point_list;
char *list_sorting_space;

static BinningState fromChunk(char*& chunk, size_t P);
};
static BinningState fromChunk(char *&chunk, size_t P);
};

template<typename T>
size_t required(size_t P)
{
char* size = nullptr;
T::fromChunk(size, P);
return ((size_t)size) + 128;
}
};
template <typename T> size_t required(size_t P) {
char *size = nullptr;
T::fromChunk(size, P);
return ((size_t)size) + 128;
}
}; // namespace CudaRasterizer
35 changes: 23 additions & 12 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# GRAPHDECO research group, https://team.inria.fr/graphdeco
# All rights reserved.
#
# This software is free for non-commercial, research and evaluation use
# This software is free for non-commercial, research and evaluation use
# under the terms of the LICENSE.md file.
#
# For inquiries contact [email protected]
Expand All @@ -12,23 +12,34 @@
from setuptools import setup
from torch.utils.cpp_extension import CUDAExtension, BuildExtension
import os

os.path.dirname(os.path.abspath(__file__))

setup(
name="diff_gaussian_rasterization",
packages=['diff_gaussian_rasterization'],
packages=["diff_gaussian_rasterization"],
ext_modules=[
CUDAExtension(
name="diff_gaussian_rasterization._C",
sources=[
"cuda_rasterizer/rasterizer_impl.cu",
"cuda_rasterizer/forward.cu",
"cuda_rasterizer/backward.cu",
"rasterize_points.cu",
"ext.cpp"],
extra_compile_args={"nvcc": ["-I" + os.path.join(os.path.dirname(os.path.abspath(__file__)), "third_party/glm/")]})
],
cmdclass={
'build_ext': BuildExtension
}
"cuda_rasterizer/rasterizer_impl.cu",
"cuda_rasterizer/forward.cu",
"cuda_rasterizer/backward.cu",
"rasterize_points.cu",
"ext.cpp",
],
extra_compile_args={
"nvcc": [
"-I"
+ os.path.join(
os.path.dirname(os.path.abspath(__file__)), "third_party/glm/"
),
"-std=c++17",
"-ccbin=/usr/bin/gcc-13",
],
"cxx": ["-std=c++17", "-fabi-version=18"],
},
)
],
cmdclass={"build_ext": BuildExtension},
)

0 comments on commit f493e15

Please sign in to comment.