Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apex integration #1726

Closed
wants to merge 81 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
a90fa4b
Adds a tool for inspect that checks for character limits
Bcorde5 Jul 22, 2015
8243161
Fixes the length_check and change files that were flagged
Bcorde5 Jul 29, 2015
564c0fc
Merge remote-tracking branch 'remotes/STEllAR-GROUP/master' into 80_l…
Bcorde5 Aug 12, 2015
5f33af7
Merge remote-tracking branch 'remotes/STEllAR-GROUP/master' into 80_l…
Bcorde5 Aug 14, 2015
ad92958
Merge remote-tracking branch 'remotes/STEllAR-GROUP/master' into 80_l…
Bcorde5 Aug 17, 2015
8b12fde
Consolidate all changes for integrating APEX with HPX
hkaiser Jun 20, 2015
818dcf8
Making things compile using MSVC
hkaiser Aug 17, 2015
99ebbdc
Added missing include
hkaiser Aug 17, 2015
2b2b091
adding future gatherer to serialization
sithhell Aug 17, 2015
05badea
Merge remote-tracking branch 'remotes/STEllAR-GROUP/master' into 80_l…
Bcorde5 Aug 17, 2015
cce1f1f
fixed test timeouts
Finomnis Aug 18, 2015
66b364d
Merge pull request #1725 from STEllAR-GROUP/fixing_timeouts
hkaiser Aug 18, 2015
975de45
Minor changes for APEX support.
khuck Aug 18, 2015
8db7e2e
Merge branch 'apex_integration' of github.com:STEllAR-GROUP/hpx into …
khuck Aug 18, 2015
05a7a86
Merge pull request #1683 from Bcorde5/80_line_limit
hkaiser Aug 18, 2015
e4f3cc9
Changing id_type serialization to take advantage of the future awaiter
sithhell Aug 18, 2015
1bc00af
Reenabling TCP parcelport to send parcels in batches
sithhell Aug 18, 2015
35e7c93
Fixing multi-line comment warning
sithhell Aug 18, 2015
b228ac2
Reworking base-name registration APIs
hkaiser Aug 17, 2015
5b86ce6
Updating apex_integration branch with most recent master and
khuck Aug 18, 2015
4ec789b
Merge branch 'master' into apex_integration
khuck Aug 18, 2015
c4ec377
Fixing broken pp directives for gcc 4.6
hkaiser Aug 18, 2015
4f67c1c
Fine tuning Parcelports:
sithhell Aug 19, 2015
3ff5d5d
Fine tuning future awaiting during serialization
sithhell Aug 19, 2015
7923ec8
Merge branch 'master' into fixing_1722
sithhell Aug 19, 2015
a1ef55b
Fixing compile problems with apply_colocated
sithhell Aug 18, 2015
622b059
Reworking base-name registration APIs
hkaiser Aug 17, 2015
ed3f95f
Merge branch 'basename_registration' of github.com:STEllAR-GROUP/hpx …
hkaiser Aug 19, 2015
3a96448
Remove superfluous typename's
hkaiser Aug 19, 2015
c36746e
Make sure the runtime system is not active yet when hpx::init is called
hkaiser Aug 19, 2015
3973dae
Fixing compiler problems with intel13
sithhell Aug 20, 2015
c881077
Fixing inspect problem with lcos_fwd.hpp and adding it to the list of…
sithhell Aug 20, 2015
682e687
Fixing header for intel compiler config
sithhell Aug 20, 2015
050ccba
Adding shortcut to serialization future awaiting to not add the futur…
sithhell Aug 20, 2015
1c64433
Fixing call_for_each
sithhell Aug 20, 2015
17aacdb
Improving latency of MPI parcelport
sithhell Aug 20, 2015
6b3e7db
Merge pull request #1727 from STEllAR-GROUP/fixing_hpxcl
hkaiser Aug 20, 2015
becb9de
Merge branch 'master' into basename_registration
hkaiser Aug 20, 2015
9694a8e
Working around some header problems
hkaiser Aug 20, 2015
6444a93
Cleaning up OSU network benchmarks
hkaiser Aug 20, 2015
28c08aa
Doc fixes
hkaiser Aug 21, 2015
c2320ef
Removing new GIDs to be serialized from id_type_impl
sithhell Aug 21, 2015
1290296
Fix missing include
sithhell Aug 21, 2015
79c21e7
Fixing problem with gcc 4.6
sithhell Aug 21, 2015
05a6692
Improving shutdown behavior of the parcelports
sithhell Aug 21, 2015
55e8207
Fixing #1730
sithhell Aug 21, 2015
0426b2b
Fixing #1730
sithhell Aug 21, 2015
6346b7b
Fixing line lengths
sithhell Aug 21, 2015
9bd0d2f
Removing debugging error message.
khuck Aug 21, 2015
ae923f2
renaming get_os_thread_count
hkaiser Aug 18, 2015
9fa85a0
Don't include winsock2.h from config.hpp
hkaiser Aug 21, 2015
b6adc46
Fixed #1688: Add timer counters for tfunc_total and exec_total
hkaiser Aug 23, 2015
965e57f
Merge pull request #1734 from STEllAR-GROUP/fixed_1688
hkaiser Aug 23, 2015
6cee46a
Merge pull request #1728 from STEllAR-GROUP/fixing_1722
sithhell Aug 24, 2015
7ba21cf
Fixing compiler problems for move-only parcel.
sithhell Aug 24, 2015
68487c0
Revert "Fixed #1688: Add timer counters for tfunc_total and exec_total"
hkaiser Aug 24, 2015
25254e5
Updating APEX tests, fixing bugs. Recently added ~55 unit tests
khuck Aug 24, 2015
8641841
Merge pull request #1731 from STEllAR-GROUP/basename_registration
hkaiser Aug 25, 2015
9d66516
Take config/defaults.hpp out of config.hpp and include it explicitly …
K-ballo Aug 21, 2015
e77ec32
Add missing #include
K-ballo Aug 22, 2015
b306484
Replace Boost.Config <functional> related macros
K-ballo Apr 20, 2015
14cd410
Replace Boost.Config macro for initializer-list
K-ballo Aug 21, 2015
9c2caf9
Replace remaining uses of C++11 Boost.Config macros
K-ballo Aug 21, 2015
1747af4
Split config stuff from version.hpp into config/version.hpp, take ver…
K-ballo Aug 22, 2015
d2133e1
Add another missing serialization #include
K-ballo Aug 23, 2015
4c7f433
added convenience c-tor and begin()/end() to serialize_buffer
gentryx Aug 25, 2015
b0d6dd8
indenting line to please inspect
gentryx Aug 25, 2015
ebfaac3
removed almost identical, yet broken WRT copy-initialization speciali…
gentryx Aug 26, 2015
681034b
added missing copy-initialization test
gentryx Aug 26, 2015
24db05f
added missing deleter
gentryx Aug 26, 2015
60eb3bd
corrected error lingering in revived serialize_buffer code
gentryx Aug 26, 2015
d178d06
dropped umlauts from my name
gentryx Aug 26, 2015
01a8ff0
Merge pull request #1736 from gentryx/master
hkaiser Aug 27, 2015
2d5c62b
Merge pull request #1735 from STEllAR-GROUP/config-includes
hkaiser Aug 29, 2015
a3a9d96
Revert "Merge pull request #1735 from STEllAR-GROUP/config-includes"
K-ballo Aug 29, 2015
9f8d412
Merge pull request #1732 from STEllAR-GROUP/os_thread_count
hkaiser Aug 31, 2015
21d4d4f
Merge remote-tracking branch 'upstream/master' into apex_integration
khuck Sep 3, 2015
169ddfc
Introduced a bug by merging in the THROTTLED scheduler. I have restor…
khuck Sep 7, 2015
e7cfed5
Fixing merge errors with the throttle scheduler and APEX configuration.
khuck Sep 8, 2015
655792e
Formatting changes to make circleci happy.
khuck Sep 8, 2015
8bf25be
Fixing inspection errors that were introduced while fixing other
khuck Sep 8, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
63 changes: 55 additions & 8 deletions CMakeLists.txt
Expand Up @@ -411,6 +411,12 @@ foreach(_scheduler ${HPX_WITH_THREAD_SCHEDULERS_UC})
hpx_add_config_define(HPX_HAVE_STATIC_SCHEDULER)
set(HPX_HAVE_STATIC_SCHEDULER ON CACHE INTERNAL "")
endif()
if(HPX_WITH_APEX)
if(_scheduler STREQUAL "THROTTLE" OR _all)
hpx_add_config_define(HPX_HAVE_THROTTLE_SCHEDULER)
set(HPX_HAVE_THROTTLE_SCHEDULER ON CACHE INTERNAL "")
endif()
endif(HPX_WITH_APEX)
if(_scheduler STREQUAL "HIERARCHY" OR _all)
hpx_add_config_define(HPX_HAVE_HIERARCHY_SCHEDULER)
set(HPX_HAVE_HIERARCHY_SCHEDULER ON CACHE INTERNAL "")
Expand Down Expand Up @@ -520,6 +526,12 @@ if(HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF)
hpx_add_config_define(HPX_HAVE_THREAD_MANAGER_IDLE_BACKOFF)
endif()

# If APEX is defined, the action timers need thread debug info.
if(HPX_WITH_APEX)
hpx_add_config_define(HPX_HAVE_THREAD_DESCRIPTION)
set(HPX_HAVE_THREAD_DESCRIPTION ON CACHE INTERNAL "")
endif()

if(HPX_WITH_THREAD_DEBUG_INFO)
hpx_add_config_define(HPX_HAVE_THREAD_PARENT_REFERENCE)
hpx_add_config_define(HPX_HAVE_THREAD_PHASE_INFORMATION)
Expand Down Expand Up @@ -871,7 +883,7 @@ if(HPX_WITH_COMPILER_WARNINGS)

# OpenMPI triggers a lot of forcing value to bool 'true' or 'false'
# (performance warning)
if(MPI_FOUND)
if(MPI_FOUND OR HPX_WITH_APEX)
hpx_add_compile_flag(-wd4800)
endif()
else() # Trial and error approach for any other compiler ...
Expand Down Expand Up @@ -962,6 +974,7 @@ else()
endif()

# Check if our libraries have unresolved symbols
#if(NOT APPLE AND NOT HPX_WITH_APEX)
if(NOT APPLE)
hpx_add_link_flag_if_available(-Wl,-z,defs TARGETS SHARED EXE)
endif()
Expand Down Expand Up @@ -1072,16 +1085,50 @@ endif()
# Enable integration with Apex event counters
################################################################################
if(HPX_WITH_APEX)
find_package(APEX)
# handle APEX library
include(GitExternal)
git_external(apex
https://github.com/khuck/xpress-apex.git
master
NO_UPDATE VERBOSE)

LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/apex/cmake/Modules")
add_subdirectory(apex/src/apex)
if(NOT APEX_FOUND)
hpx_error("Apex could not be found and HPX_WITH_APEX=On, please specify APEX_ROOT to point to the root of your Apex installation")
hpx_error("Apex could not be found and HPX_WITH_APEX=On")
endif()
hpx_libraries(${APEX_LIBRARIES})
include_directories(${APEX_INCLUDE_DIR})
if(AMPLIFIER_FOUND)
hpx_error("AMPLIFIER_FOUND has been set. Please disable the use of the Intel Amplifier (WITH_AMPLIFIER=Off) in order to use Apex")
endif()
hpx_add_config_define(HPX_HAVE_ITTNOTIFY)

include_directories(${APEX_SOURCE_DIR})
hpx_add_config_define(HPX_HAVE_APEX 1)
set(HPX_ADDITIONAL_RUNTIME_DEPENDENCIES
${HPX_ADDITIONAL_RUNTIME_DEPENDENCIES} apex_lib)
if(APEX_WITH_MSR)
set(HPX_ADDITIONAL_RUNTIME_DEPENDENCIES
${HPX_ADDITIONAL_RUNTIME_DEPENDENCIES} -L${MSR_ROOT}/lib -lmsr)
endif()
if(APEX_WITH_ACTIVEHARMONY)
set(HPX_ADDITIONAL_RUNTIME_DEPENDENCIES
${HPX_ADDITIONAL_RUNTIME_DEPENDENCIES} -L${ACTIVEHARMONY_ROOT}/lib -lharmony)
endif()
if(APEX_WITH_TAU)
set(HPX_ADDITIONAL_RUNTIME_DEPENDENCIES
${HPX_ADDITIONAL_RUNTIME_DEPENDENCIES} -L${TAU_ROOT}/lib -lTAU)
endif()

# handle optional ITTNotify library
if(HPX_WITH_ITTNOTIFY)
add_subdirectory(apex/src/ITTNotify)
if(NOT ITTNOTIFY_FOUND)
hpx_error("ITTNotify could not be found and HPX_WITH_ITTNOTIFY=On")
endif()
include_directories(${ITTNOTIFY_SOURCE_DIR})
hpx_add_config_define(HPX_HAVE_ITTNOTIFY 1)
set(HPX_ADDITIONAL_RUNTIME_DEPENDENCIES
${HPX_ADDITIONAL_RUNTIME_DEPENDENCIES} ittnotify_lib)
endif()
endif()

if(HPX_WITH_GOOGLE_PERFTOOLS)
Expand Down Expand Up @@ -1402,11 +1449,11 @@ install( # Install HPX Python scripts
# #make copy, so that we have intact symlink in CMAKE_BINARY_DIR
# execute_process(
# COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${script}" "${script_name}"
# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
#
# execute_process(
# COMMAND "${CMAKE_COMMAND}" -E create_symlink "${script_name}" "${script_name_we}"
# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
#
# install(FILES "${CMAKE_BINARY_DIR}/python/scripts/${script_name_we}" DESTINATION "bin")
# endforeach()
Expand Down
4 changes: 4 additions & 0 deletions cmake/templates/HPXConfig.cmake.in
Expand Up @@ -38,6 +38,10 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} @CXX_FLAG@")

set(HPX_BOOST_ROOT @BOOST_ROOT@)
set(HPX_WITH_MALLOC_DEFAULT @HPX_WITH_MALLOC@)
set(HPX_WITH_PARCELPORT_TCP @HPX_WITH_PARCELPORT_TCP@)
set(HPX_WITH_PARCELPORT_MPI @HPX_WITH_PARCELPORT_MPI@)
set(HPX_WITH_PARCELPORT_IPC @HPX_WITH_PARCELPORT_IPC@)
set(HPX_WITH_PARCELPORT_IBVERBS @HPX_WITH_PARCELPORT_IBVERBS@)

if(NOT HPX_CMAKE_LOGLEVEL)
set(HPX_CMAKE_LOGLEVEL "WARN")
Expand Down
4 changes: 3 additions & 1 deletion cmake/templates/hpxrun.py.in
Expand Up @@ -271,7 +271,9 @@ if __name__ == '__main__':
msg += ')'
print(msg)
while procs:
term(procs.pop(0))
nextproc = procs.pop(0)
if nextproc != proc:
term(nextproc)
except:
pass
finally: procs_lock.release()
Expand Down
3 changes: 3 additions & 0 deletions docs/CMakeLists.txt
Expand Up @@ -52,6 +52,7 @@ set(doxygen_dependencies
"${PROJECT_SOURCE_DIR}/hpx/error.hpp"
"${PROJECT_SOURCE_DIR}/hpx/exception.hpp"
"${PROJECT_SOURCE_DIR}/hpx/exception_list.hpp"
"${PROJECT_SOURCE_DIR}/hpx/lcos_fwd.hpp"
"${PROJECT_SOURCE_DIR}/hpx/components/component_storage/migrate_from_storage.hpp"
"${PROJECT_SOURCE_DIR}/hpx/components/component_storage/migrate_to_storage.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/execution_policy.hpp"
Expand Down Expand Up @@ -105,6 +106,7 @@ set(doxygen_dependencies
"${PROJECT_SOURCE_DIR}/hpx/parallel/executors/static_chunk_size.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/executors/thread_pool_executors.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/executors/timed_executor_traits.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/basename_registration.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/get_ptr.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/get_locality_name.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/launch_policy.hpp"
Expand All @@ -122,6 +124,7 @@ set(doxygen_dependencies
"${PROJECT_SOURCE_DIR}/hpx/runtime/components/new.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/naming/unmanaged.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/threads/thread_enums.hpp"
"${PROJECT_SOURCE_DIR}/hpx/runtime/threads_fwd.hpp"
"${PROJECT_SOURCE_DIR}/hpx/lcos/broadcast.hpp"
"${PROJECT_SOURCE_DIR}/hpx/lcos/fold.hpp"
"${PROJECT_SOURCE_DIR}/hpx/lcos/reduce.hpp"
Expand Down
18 changes: 11 additions & 7 deletions docs/hpx.idx
Expand Up @@ -19,11 +19,11 @@ find_all_localities "" "hpx\.find_all_localities.*"
find_remote_localities "" "hpx\.find_remote_localities.*"
find_locality "" "hpx\.find_locality.*"

find_all_ids_from_basename "" "hpx\.find_all_ids_from_basename.*"
find_ids_from_basename "" "hpx\.find_ids_from_basename.*"
find_id_from_basename "" "hpx\.find_id_from_basename.*"
register_id_with_basename "" "hpx\.register_id_with_basename.*"
unregister_id_with_basename "" "hpx\.unregister_id_with_basename.*"
# hpx/runtime/basename_registration.hpp
find_all_from_basename "" "hpx\.find_all_from_basename.*"
find_from_basename "" "hpx\.find_from_basenam_id.*"
register_with_basename "" "hpx\.register_with_bas_id.*"
unregister_with_basename "" "hpx\.unregister_with_basename.*"

get_num_localities_sync "" "hpx\.get_num_localitie_id.*"
get_num_localities "" "hpx\.get_num_localitie_id.*"
Expand All @@ -45,13 +45,16 @@ is_stopped_or_shutting_down "" "hpx\.is_stopped_or_shutting_down.*"

get_worker_thread_num "" "hpx\.get_worker_thread_num.*"
get_thread_name "" "hpx\.get_thread_name.*"
get_locality_name "" "hpx\.get_locality_name.*"
get_num_worker_threads "" "hpx\.get_num_worker_threads.*"

# hpx/runtime/get_locality_name.hpp
get_locality_name "" "hpx\.get_locality_name.*"

get_system_uptime "" "hpx\.get_system_uptime.*"
get_colocation_id "" "hpx\.get_colocation_id.*"
get_colocation_id_sync "" "hpx\.get_colocation_id_sync.*"

# hpx/runtime/trigger_lco.hpp
trigger_lco_event "" "hpx\.trigger_lco_event.*"
set_lco_event "" "hpx\.set_lco_event.*"
set_lco_value "" "hpx\.set_lco_value.*"
Expand All @@ -62,6 +65,7 @@ reset_active_counters "" "hpx\.reset_active_counters.*"
stop_active_counters "" "hpx\.stop_active_counters.*"
evaluate_active_counters "" "hpx\.evaluate_active_counters.*"

# hpx/runtime/set_parcel_write_handler.hpp
set_parcel_write_handler "" "hpx\.set_parcel_write_.*"
parcel_write_handler_type "" "hpx\.parcel_write_hand.*"

Expand Down Expand Up @@ -392,7 +396,7 @@ task_region_not_active "" "hpx\.error"
unmanaged "" "header\.hpx\.runtime\.naming\.unmanaged.*"

# hpx/runtime/get_ptr.hpp
get_ptr "" "hpx\.get_ptr.*"
get_ptr "" "hpx\.runtime\.get_ptr.*"

# hpx/lcos/broadcast.hpp
broadcast "" "header\.hpx\.lcos\.broadcast.*"
Expand Down
3 changes: 2 additions & 1 deletion docs/html/src/boostbook.css
Expand Up @@ -424,7 +424,8 @@ Colors

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
h1 a:visited, h2 a:visited, h3 a:visited,
h4 a:visited, h5 a:visited, h6 a:visited
{
text-decoration: none; /* no underline */
color: #000000;
Expand Down
3 changes: 3 additions & 0 deletions docs/manual/parallel_algorithms.qbk
Expand Up @@ -134,6 +134,9 @@ __hpx__ provides implementations of the following parallel algorithms:
[[ [algoref for_each] ]
[Applies a function to a range of elements.]
[`<hpx/include/parallel_for_each.hpp>`]]
[[ [algoref for_each_n] ]
[Applies a function to a number of elements.]
[`<hpx/include/parallel_for_each.hpp>`]]
[[ [algoref count] ]
[Returns the number of elements equal to a given value.]
[`<hpx/include/parallel_count.hpp>`]]
Expand Down