Refactor NSS and DNSS implementations for improved readability and modularity#2
Refactor NSS and DNSS implementations for improved readability and modularity#2eclipse0922 wants to merge 2 commits intomasterfrom
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
2d4f452 to
2ba9ba9
Compare
|
Persistent review updated to latest commit 2ba9ba9 |
|
/improve |
…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.
2ba9ba9 to
d77ecfd
Compare
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨
|
User description
PR Type
Enhancement, Bug fix, Documentation
Description
Refactored NSS and DNSS implementations into clean C++17 with modular design, replacing legacy Concurrency and Eigen dependencies.
Introduced configurable
Optionsstructs for both classes, enabling deterministic behavior, bucket configuration, and optional CUDA acceleration.Implemented CUDA kernel for DNSS rotational feature computation with fallback to CPU path when CUDA is unavailable or fails.
Updated README with algorithm notes, build instructions, and fixed mathematical inconsistencies (e.g., radians usage, input validation).
Changes walkthrough 📝
NSS.cpp
Refactored NSS/DNSS core logic and samplingNSS.cpp
clean C++17 logic.
computeCenteredAndScaledVertices,computeRotationalReturnValue,and
sphericalBucketIndexhelpers.queues for DNSS sampling.
point.
NSS.h
Modernized header with Options and clean APINSS.h
Optionsstructs forconfigurability.
glm::fvec3fallback implementation.
setUseCuda,getUseCuda, and bucket index helper methods.dnss_cuda.cu
Added CUDA acceleration for DNSSdnss_cuda.cu
CMakeLists.txt
Added CUDA build configurationCMakeLists.txt
DNSS_ENABLE_CUDAoption to conditionally compile CUDA support.dnss_cuda.cuand set appropriate compile definitions andproperties.
pr-agent.yml
Updated PR review agent config.github/workflows/pr-agent.yml
Korean instructions.
and effort estimation.
README.md
Updated README with build and usage docsREADME.md
and version improvements.