Skip to content

Commit

Permalink
Parallelize constraint group solving
Browse files Browse the repository at this point in the history
  • Loading branch information
jslee02 committed Feb 1, 2025
1 parent 1c21402 commit a7d2a78
Show file tree
Hide file tree
Showing 15 changed files with 583 additions and 1,145 deletions.
1 change: 1 addition & 0 deletions .github/workflows/publish_dartpy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ jobs:
opengl
osg
pagmo2
taskflow
tinyxml2
tracy
urdfdom
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

## DART 6

### [DART 6.16.0 (TBD)](https://github.com/dartsim/dart/milestone/83?closed=1)

* Tested Platforms
* Linux
* Ubuntu 22.04 LTS / GCC 11.4 / x86_64
* Ubuntu 24.04 LTS / GCC 13.2 / x86_64
* macOS 14 / Clang 15 / arm64
* Windows / MSVC 19.40 / x86_64

* Dependencies
* Added optional dependency [Taskflow](https://github.com/taskflow/taskflow) for parallel programming

### [DART 6.15.0 (2024-11-15)](https://github.com/dartsim/dart/milestone/77?closed=1)

* Tested Platforms
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ dart_option(DART_BUILD_DARTPY "Build dartpy" OFF)
dart_option(DART_BUILD_GUI_OSG "Build osgDart library" ON)
dart_option(DART_BUILD_PROFILE "Build DART with profiling options" OFF)
dart_option(DART_CODECOV "Turn on codecov support" OFF)
dart_option(DART_ENABLE_MT "Enable multi-threading support" ON)
# Warning: DART_ENABLE_SIMD should be ON only when you build DART and the DART
# dependent projects on the same machine. If this option is on, then compile
# option `-march=native` is added to the target `dart` that enables all
Expand Down
3 changes: 3 additions & 0 deletions cmake/DARTFindDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ else()
)
endif()

# Taskflow
dart_find_package(Taskflow)

#=======================
# Optional dependencies
#=======================
Expand Down
9 changes: 9 additions & 0 deletions cmake/DARTFindTaskflow.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2011-2024, The DART development contributors
# All rights reserved.
#
# The list of contributors can be found at:
# https://github.com/dartsim/dart/blob/main/LICENSE
#
# This file is provided under the "BSD-style" License

find_package(Taskflow)
14 changes: 14 additions & 0 deletions dart/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,20 @@ if(spdlog_FOUND)
add_component_dependency_packages(${PROJECT_NAME} dart spdlog)
endif()

# Taskflow settings
if(Taskflow_FOUND)
if(TARGET spdlog::spdlog_header_only)
add_component_dependency_packages(${PROJECT_NAME} dart Taskflow)
target_link_libraries(dart PUBLIC Taskflow::Taskflow)
target_compile_definitions(dart PUBLIC -DDART_HAVE_Taskflow=1)
else()
message(WARNING "Taskflow found, but no target is found. Expected Taskflow::Taskflow")
target_compile_definitions(dart PUBLIC -DDART_HAVE_Taskflow=0)
endif()
else()
target_compile_definitions(dart PUBLIC -DDART_HAVE_Taskflow=0)
endif()

if(MSVC)
set_target_properties(
dart PROPERTIES
Expand Down
Loading

0 comments on commit a7d2a78

Please sign in to comment.