Refactor NSS and DNSS implementations for improved readability and modularity#4
Refactor NSS and DNSS implementations for improved readability and modularity#4eclipse0922 wants to merge 2 commits intomasterfrom
Conversation
…dularity - Rewrote legacy code into clean C++17 style. - Added missing method implementations and input validation. - Introduced options struct for configurable parameters in NSS and DNSS. - Implemented CUDA support for DNSS rotational feature computation. - Added new CMake configuration for building with or without CUDA. - Updated README to reflect changes and provide build instructions. - Added .gitignore to exclude build directories.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
PR Description updated to latest commit (d77ecfd) |
PR Reviewer Guide 🔍(Review updated until commit 5f9b116)Here are some key observations to aid the review process:
|
|
PR Description updated to latest commit (5f9b116) |
|
Persistent review updated to latest commit 5f9b116 |
PR Code Suggestions ✨Latest suggestions up to 5f9b116
Previous suggestionsSuggestions up to commit d77ecfd
|
User description
PR Type
Enhancement, Bug fix, Documentation
Description
Refactored NSS and DNSS implementations into clean C++17 with modular design and options structs.
Added input validation, fixed rotational-return math (radians), and replaced legacy bucket logic with efficient lazy removal.
Implemented optional CUDA acceleration for DNSS rotational feature computation with CPU fallback.
Updated README with algorithm notes, build instructions, and references; added CMake CUDA support.
Changes walkthrough 📝
NSS.cpp
Refactor NSS/ DNSS core logicNSS.cpp
and options-based configuration.
computeCenteredAndScaledVertices,computeRotationalReturnValue, andsphericalBucketIndex.fallback CPU implementation.
DNSS::dualNormalSpaceSamplingto use priority queues andactive-mask lazy removal.
NSS.h
Modernize header and optionsNSS.h
glm::fvec3fallback implementation.
Optionsstructs for configurable parameters in NSS andDNSS.
setUseCuda,getUseCuda, and bucket index helper methods.validation.
dnss_cuda.cu
Add CUDA implementationdnss_cuda.cu
CMakeLists.txt
Add CUDA build configurationCMakeLists.txt
DNSS_ENABLE_CUDAoption to conditionally enable CUDA support.dnss_cuda.cusource and linked againstCUDA::cudart.pr-agent.yml
Configure PR agent language.github/workflows/pr-agent.yml
CONFIG__RESPONSE_LANGUAGE: "Korean"to configure PR agent outputlanguage.
README.md
Update documentationREADME.md
instructions.