From 616f64867eb53cef72d1b15215c58cbafd272f16 Mon Sep 17 00:00:00 2001 From: Alex Bilger Date: Tue, 23 Jan 2024 10:58:50 +0100 Subject: [PATCH 1/3] Introduce CUDA extension --- CMakeLists.txt | 2 + extensions/CUDA/CMakeLists.txt | 27 +++++++ .../CUDA/SoftRobots.CUDAConfig.cmake.in | 9 +++ .../CUDA/src/SoftRobots.CUDA/config.h.in | 43 +++++++++++ extensions/CUDA/src/SoftRobots.CUDA/init.cpp | 71 +++++++++++++++++++ extensions/CUDA/src/SoftRobots.CUDA/init.h | 35 +++++++++ 6 files changed, 187 insertions(+) create mode 100644 extensions/CUDA/CMakeLists.txt create mode 100644 extensions/CUDA/SoftRobots.CUDAConfig.cmake.in create mode 100644 extensions/CUDA/src/SoftRobots.CUDA/config.h.in create mode 100644 extensions/CUDA/src/SoftRobots.CUDA/init.cpp create mode 100644 extensions/CUDA/src/SoftRobots.CUDA/init.h diff --git a/CMakeLists.txt b/CMakeLists.txt index a12327c4..3725caf6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -305,4 +305,6 @@ if(SOFTROBOTS_BUILD_TESTS) add_subdirectory(tests) endif() +sofa_add_subdirectory(plugin extensions/CUDA SoftRobots.CUDA) + include(cmake/packaging.cmake) diff --git a/extensions/CUDA/CMakeLists.txt b/extensions/CUDA/CMakeLists.txt new file mode 100644 index 00000000..fe89d6fb --- /dev/null +++ b/extensions/CUDA/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.12) +project(SoftRobots.CUDA) + +set(HEADER_FILES + src/SoftRobots.CUDA/init.h + src/SoftRobots.CUDA/config.h.in +) + +set(SOURCE_FILES + src/SoftRobots.CUDA/init.cpp +) + +sofa_find_package(SoftRobots REQUIRED) +sofa_find_package(SofaCUDA REQUIRED) + +add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES}) +target_link_libraries(${PROJECT_NAME} SoftRobots) +target_link_libraries(${PROJECT_NAME} SofaCUDA) + +sofa_create_package_with_targets( + PACKAGE_NAME ${PROJECT_NAME} + PACKAGE_VERSION ${Sofa_VERSION} + TARGETS ${PROJECT_NAME} AUTO_SET_TARGET_PROPERTIES + INCLUDE_SOURCE_DIR "src" + INCLUDE_INSTALL_DIR "${PROJECT_NAME}" + RELOCATABLE "plugins" +) diff --git a/extensions/CUDA/SoftRobots.CUDAConfig.cmake.in b/extensions/CUDA/SoftRobots.CUDAConfig.cmake.in new file mode 100644 index 00000000..639d2acb --- /dev/null +++ b/extensions/CUDA/SoftRobots.CUDAConfig.cmake.in @@ -0,0 +1,9 @@ +# CMake package configuration file for the SoftRobots.CUDA library + +@PACKAGE_GUARD@ +@PACKAGE_INIT@ + +find_package(SoftRobots QUIET REQUIRED) +find_package(SofaCUDA QUIET REQUIRED) + +check_required_components(SoftRobots.CUDA) diff --git a/extensions/CUDA/src/SoftRobots.CUDA/config.h.in b/extensions/CUDA/src/SoftRobots.CUDA/config.h.in new file mode 100644 index 00000000..4d114493 --- /dev/null +++ b/extensions/CUDA/src/SoftRobots.CUDA/config.h.in @@ -0,0 +1,43 @@ +/****************************************************************************** +* SOFA, Simulation Open-Framework Architecture * +* (c) 2006 INRIA, USTL, UJF, CNRS, MGH * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by * +* the Free Software Foundation; either version 2.1 of the License, or (at * +* your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this program. If not, see . * +******************************************************************************* +* Plugin SoftRobots * +* * +* This plugin is also distributed under the GNU LGPL (Lesser General * +* Public License) license with the same conditions than SOFA. * +* * +* Contributors: Defrost team (INRIA, University of Lille, CNRS, * +* Ecole Centrale de Lille) * +* * +* Contact information: https://project.inria.fr/softrobot/contact/ * +******************************************************************************/ +#pragma once + +#include + +#ifdef SOFA_BUILD_SOFTROBOTS_CUDA +# define SOFA_TARGET @PROJECT_NAME@ +# define SOFA_SOFTROBOTS_CUDA_API SOFA_EXPORT_DYNAMIC_LIBRARY +#else +# define SOFA_SOFTROBOTS_CUDA_API SOFA_IMPORT_DYNAMIC_LIBRARY +#endif + +namespace softrobots::cuda +{ + constexpr const char* MODULE_NAME = "@PROJECT_NAME@"; + constexpr const char* MODULE_VERSION = "@PROJECT_VERSION@"; +} // namespace softrobots::cuda diff --git a/extensions/CUDA/src/SoftRobots.CUDA/init.cpp b/extensions/CUDA/src/SoftRobots.CUDA/init.cpp new file mode 100644 index 00000000..7ccb9bce --- /dev/null +++ b/extensions/CUDA/src/SoftRobots.CUDA/init.cpp @@ -0,0 +1,71 @@ +/****************************************************************************** +* SOFA, Simulation Open-Framework Architecture * +* (c) 2006 INRIA, USTL, UJF, CNRS, MGH * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by * +* the Free Software Foundation; either version 2.1 of the License, or (at * +* your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this program. If not, see . * +******************************************************************************* +* Plugin SoftRobots * +* * +* This plugin is also distributed under the GNU LGPL (Lesser General * +* Public License) license with the same conditions than SOFA. * +* * +* Contributors: Defrost team (INRIA, University of Lille, CNRS, * +* Ecole Centrale de Lille) * +* * +* Contact information: https://project.inria.fr/softrobot/contact/ * +******************************************************************************/ +#include +#include +namespace softrobots::cuda +{ + +extern "C" { + SOFA_EXPORT_DYNAMIC_LIBRARY void initExternalModule(); + SOFA_EXPORT_DYNAMIC_LIBRARY const char* getModuleName(); + SOFA_EXPORT_DYNAMIC_LIBRARY const char* getModuleVersion(); + SOFA_EXPORT_DYNAMIC_LIBRARY const char* getModuleComponentList(); +} + +void initExternalModule() +{ + init(); +} + +const char* getModuleName() +{ + return MODULE_NAME; +} + +const char* getModuleVersion() +{ + return MODULE_VERSION; +} + +void init() +{ + static bool first = true; + if (first) + { + first = false; + } +} + +const char* getModuleComponentList() +{ + /// string containing the names of the classes provided by the plugin + static std::string classes = sofa::core::ObjectFactory::getInstance()->listClassesFromTarget(MODULE_NAME); + return classes.c_str(); +} + +} // namespace softrobots::cuda diff --git a/extensions/CUDA/src/SoftRobots.CUDA/init.h b/extensions/CUDA/src/SoftRobots.CUDA/init.h new file mode 100644 index 00000000..4293d25c --- /dev/null +++ b/extensions/CUDA/src/SoftRobots.CUDA/init.h @@ -0,0 +1,35 @@ +/****************************************************************************** +* SOFA, Simulation Open-Framework Architecture * +* (c) 2006 INRIA, USTL, UJF, CNRS, MGH * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by * +* the Free Software Foundation; either version 2.1 of the License, or (at * +* your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this program. If not, see . * +******************************************************************************* +* Plugin SoftRobots * +* * +* This plugin is also distributed under the GNU LGPL (Lesser General * +* Public License) license with the same conditions than SOFA. * +* * +* Contributors: Defrost team (INRIA, University of Lille, CNRS, * +* Ecole Centrale de Lille) * +* * +* Contact information: https://project.inria.fr/softrobot/contact/ * +******************************************************************************/ +#pragma once + +#include + +namespace softrobots::cuda +{ +SOFA_SOFTROBOTS_CUDA_API void init(); +} // namespace softrobots::cuda From ab277b747a9e619accca5da74ecfba6368afc07d Mon Sep 17 00:00:00 2001 From: Alex Bilger Date: Tue, 23 Jan 2024 11:18:07 +0100 Subject: [PATCH 2/3] CUDA template specialization --- extensions/CUDA/CMakeLists.txt | 4 ++ .../CUDAPREquivalentStiffnessForceField.cpp | 48 +++++++++++++++++++ .../CUDAPartialRigidificationForceField.cpp | 47 ++++++++++++++++++ .../forcefield/CUDAPipeForceField.cpp | 47 ++++++++++++++++++ .../PREquivalentStiffnessForceField.h | 4 +- .../PartialRigidificationForceField.inl | 1 + 6 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp create mode 100644 extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp create mode 100644 extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp diff --git a/extensions/CUDA/CMakeLists.txt b/extensions/CUDA/CMakeLists.txt index fe89d6fb..f9280621 100644 --- a/extensions/CUDA/CMakeLists.txt +++ b/extensions/CUDA/CMakeLists.txt @@ -8,6 +8,10 @@ set(HEADER_FILES set(SOURCE_FILES src/SoftRobots.CUDA/init.cpp + + src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp + src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp + src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp ) sofa_find_package(SoftRobots REQUIRED) diff --git a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp b/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp new file mode 100644 index 00000000..b8cd4b17 --- /dev/null +++ b/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp @@ -0,0 +1,48 @@ +/****************************************************************************** +* SOFA, Simulation Open-Framework Architecture * +* (c) 2006 INRIA, USTL, UJF, CNRS, MGH * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by * +* the Free Software Foundation; either version 2.1 of the License, or (at * +* your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this program. If not, see . * +******************************************************************************* +* Plugin SoftRobots * +* * +* This plugin is also distributed under the GNU LGPL (Lesser General * +* Public License) license with the same conditions than SOFA. * +* * +* Contributors: Defrost team (INRIA, University of Lille, CNRS, * +* Ecole Centrale de Lille) * +* * +* Contact information: https://project.inria.fr/softrobot/contact/ * +******************************************************************************/ +#include +#include +#include +#include + +namespace softrobots::forcefield +{ +template class SOFA_SOFTROBOTS_CUDA_API PREquivalentStiffnessForceField; + +#ifdef SOFA_GPU_CUDA_DOUBLE +template class SOFA_SOFTROBOTS_CUDA_API PREquivalentStiffnessForceField; +#endif +} + +int CUDAPREquivalentStiffnessForceFieldClass = sofa::core::RegisterObject("Supports GPU-side computations using CUDA") + .add< softrobots::forcefield::PREquivalentStiffnessForceField >() +#ifdef SOFA_GPU_CUDA_DOUBLE + .add< softrobots::forcefield::PREquivalentStiffnessForceField >() +#endif +; + diff --git a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp b/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp new file mode 100644 index 00000000..72ef2f0c --- /dev/null +++ b/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp @@ -0,0 +1,47 @@ +/****************************************************************************** +* SOFA, Simulation Open-Framework Architecture * +* (c) 2006 INRIA, USTL, UJF, CNRS, MGH * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by * +* the Free Software Foundation; either version 2.1 of the License, or (at * +* your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this program. If not, see . * +******************************************************************************* +* Plugin SoftRobots * +* * +* This plugin is also distributed under the GNU LGPL (Lesser General * +* Public License) license with the same conditions than SOFA. * +* * +* Contributors: Defrost team (INRIA, University of Lille, CNRS, * +* Ecole Centrale de Lille) * +* * +* Contact information: https://project.inria.fr/softrobot/contact/ * +******************************************************************************/ +#include +#include +#include +#include + +namespace softrobots::forcefield +{ +template class SOFA_SOFTROBOTS_CUDA_API PartialRigidificationForceField; + +#ifdef SOFA_GPU_CUDA_DOUBLE +template class SOFA_SOFTROBOTS_CUDA_API PartialRigidificationForceField; +#endif +} + +int CUDAPartialRigidificationForceFieldClass = sofa::core::RegisterObject("Supports GPU-side computations using CUDA") + .add< softrobots::forcefield::PartialRigidificationForceField >() +#ifdef SOFA_GPU_CUDA_DOUBLE + .add< softrobots::forcefield::PartialRigidificationForceField >() +#endif +; diff --git a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp b/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp new file mode 100644 index 00000000..eca1793b --- /dev/null +++ b/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp @@ -0,0 +1,47 @@ +/****************************************************************************** +* SOFA, Simulation Open-Framework Architecture * +* (c) 2006 INRIA, USTL, UJF, CNRS, MGH * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by * +* the Free Software Foundation; either version 2.1 of the License, or (at * +* your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this program. If not, see . * +******************************************************************************* +* Plugin SoftRobots * +* * +* This plugin is also distributed under the GNU LGPL (Lesser General * +* Public License) license with the same conditions than SOFA. * +* * +* Contributors: Defrost team (INRIA, University of Lille, CNRS, * +* Ecole Centrale de Lille) * +* * +* Contact information: https://project.inria.fr/softrobot/contact/ * +******************************************************************************/ +#include +#include +#include +#include + +namespace softrobots::forcefield +{ +template class SOFA_SOFTROBOTS_CUDA_API PipeForceField; + +#ifdef SOFA_GPU_CUDA_DOUBLE +template class SOFA_SOFTROBOTS_CUDA_API PipeForceField; +#endif +} + +int CUDAPipeForceFieldClass = sofa::core::RegisterObject("Supports GPU-side computations using CUDA") + .add< softrobots::forcefield::PipeForceField >() +#ifdef SOFA_GPU_CUDA_DOUBLE + .add< softrobots::forcefield::PipeForceField >() +#endif +; diff --git a/src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.h b/src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.h index eb849649..c3356daa 100644 --- a/src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.h +++ b/src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.h @@ -61,8 +61,8 @@ public : typedef typename DataTypes::Deriv Deriv; typedef typename Coord::Pos Pos; typedef typename Coord::Quat Quaternion; - typedef sofa::type::vector VecCoord; - typedef sofa::type::vector VecDeriv; + typedef typename DataTypes::VecCoord VecCoord; + typedef typename DataTypes::VecDeriv VecDeriv; typedef sofa::Data DataVecCoord; typedef sofa::Data DataVecDeriv; diff --git a/src/SoftRobots/component/forcefield/PartialRigidificationForceField.inl b/src/SoftRobots/component/forcefield/PartialRigidificationForceField.inl index 0c28f918..4811aec9 100644 --- a/src/SoftRobots/component/forcefield/PartialRigidificationForceField.inl +++ b/src/SoftRobots/component/forcefield/PartialRigidificationForceField.inl @@ -35,6 +35,7 @@ #include #include +#include namespace softrobots::forcefield { From 7831ac83134de816da685f3b522898a2b6dc5b38 Mon Sep 17 00:00:00 2001 From: Alex Bilger Date: Wed, 24 Jan 2024 10:52:27 +0100 Subject: [PATCH 3/3] Change folder hierarchy according to the guidelines --- extensions/CUDA/CMakeLists.txt | 12 ++++++------ .../CUDAPREquivalentStiffnessForceField.cpp | 2 +- .../CUDAPartialRigidificationForceField.cpp | 2 +- .../component/forcefield/CUDAPipeForceField.cpp | 2 +- .../{SoftRobots.CUDA => SoftRobots/CUDA}/config.h.in | 0 .../{SoftRobots.CUDA => SoftRobots/CUDA}/init.cpp | 2 +- .../src/{SoftRobots.CUDA => SoftRobots/CUDA}/init.h | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) rename extensions/CUDA/src/{SoftRobots.CUDA => SoftRobots/CUDA}/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp (98%) rename extensions/CUDA/src/{SoftRobots.CUDA => SoftRobots/CUDA}/component/forcefield/CUDAPartialRigidificationForceField.cpp (98%) rename extensions/CUDA/src/{SoftRobots.CUDA => SoftRobots/CUDA}/component/forcefield/CUDAPipeForceField.cpp (98%) rename extensions/CUDA/src/{SoftRobots.CUDA => SoftRobots/CUDA}/config.h.in (100%) rename extensions/CUDA/src/{SoftRobots.CUDA => SoftRobots/CUDA}/init.cpp (98%) rename extensions/CUDA/src/{SoftRobots.CUDA => SoftRobots/CUDA}/init.h (98%) diff --git a/extensions/CUDA/CMakeLists.txt b/extensions/CUDA/CMakeLists.txt index f9280621..037a1bd7 100644 --- a/extensions/CUDA/CMakeLists.txt +++ b/extensions/CUDA/CMakeLists.txt @@ -2,16 +2,16 @@ cmake_minimum_required(VERSION 3.12) project(SoftRobots.CUDA) set(HEADER_FILES - src/SoftRobots.CUDA/init.h - src/SoftRobots.CUDA/config.h.in + src/SoftRobots/CUDA/init.h + src/SoftRobots/CUDA/config.h.in ) set(SOURCE_FILES - src/SoftRobots.CUDA/init.cpp + src/SoftRobots/CUDA/init.cpp - src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp - src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp - src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp + src/SoftRobots/CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp + src/SoftRobots/CUDA/component/forcefield/CUDAPipeForceField.cpp + src/SoftRobots/CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp ) sofa_find_package(SoftRobots REQUIRED) diff --git a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp b/extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp similarity index 98% rename from extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp rename to extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp index b8cd4b17..419800ae 100644 --- a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp +++ b/extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPREquivalentStiffnessForceField.cpp @@ -25,7 +25,7 @@ * * * Contact information: https://project.inria.fr/softrobot/contact/ * ******************************************************************************/ -#include +#include #include #include #include diff --git a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp b/extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp similarity index 98% rename from extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp rename to extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp index 72ef2f0c..896dd959 100644 --- a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp +++ b/extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPartialRigidificationForceField.cpp @@ -25,7 +25,7 @@ * * * Contact information: https://project.inria.fr/softrobot/contact/ * ******************************************************************************/ -#include +#include #include #include #include diff --git a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp b/extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPipeForceField.cpp similarity index 98% rename from extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp rename to extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPipeForceField.cpp index eca1793b..d272dba5 100644 --- a/extensions/CUDA/src/SoftRobots.CUDA/component/forcefield/CUDAPipeForceField.cpp +++ b/extensions/CUDA/src/SoftRobots/CUDA/component/forcefield/CUDAPipeForceField.cpp @@ -25,7 +25,7 @@ * * * Contact information: https://project.inria.fr/softrobot/contact/ * ******************************************************************************/ -#include +#include #include #include #include diff --git a/extensions/CUDA/src/SoftRobots.CUDA/config.h.in b/extensions/CUDA/src/SoftRobots/CUDA/config.h.in similarity index 100% rename from extensions/CUDA/src/SoftRobots.CUDA/config.h.in rename to extensions/CUDA/src/SoftRobots/CUDA/config.h.in diff --git a/extensions/CUDA/src/SoftRobots.CUDA/init.cpp b/extensions/CUDA/src/SoftRobots/CUDA/init.cpp similarity index 98% rename from extensions/CUDA/src/SoftRobots.CUDA/init.cpp rename to extensions/CUDA/src/SoftRobots/CUDA/init.cpp index 7ccb9bce..933d4c9f 100644 --- a/extensions/CUDA/src/SoftRobots.CUDA/init.cpp +++ b/extensions/CUDA/src/SoftRobots/CUDA/init.cpp @@ -25,7 +25,7 @@ * * * Contact information: https://project.inria.fr/softrobot/contact/ * ******************************************************************************/ -#include +#include #include namespace softrobots::cuda { diff --git a/extensions/CUDA/src/SoftRobots.CUDA/init.h b/extensions/CUDA/src/SoftRobots/CUDA/init.h similarity index 98% rename from extensions/CUDA/src/SoftRobots.CUDA/init.h rename to extensions/CUDA/src/SoftRobots/CUDA/init.h index 4293d25c..a4630599 100644 --- a/extensions/CUDA/src/SoftRobots.CUDA/init.h +++ b/extensions/CUDA/src/SoftRobots/CUDA/init.h @@ -27,7 +27,7 @@ ******************************************************************************/ #pragma once -#include +#include namespace softrobots::cuda {