{"id":19439490,"url":"https://github.com/openucx/scorep_plugin_ucx","last_synced_at":"2025-06-25T08:38:48.732Z","repository":{"id":54858791,"uuid":"321769853","full_name":"openucx/scorep_plugin_ucx","owner":"openucx","description":"Score-P Plugin for UCX","archived":false,"fork":false,"pushed_at":"2021-10-05T12:35:24.000Z","size":88,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-25T07:23:43.604Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openucx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-15T19:33:43.000Z","updated_at":"2023-04-10T19:04:42.000Z","dependencies_parsed_at":"2022-08-14T05:00:20.252Z","dependency_job_id":null,"html_url":"https://github.com/openucx/scorep_plugin_ucx","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/openucx/scorep_plugin_ucx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openucx%2Fscorep_plugin_ucx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openucx%2Fscorep_plugin_ucx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openucx%2Fscorep_plugin_ucx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openucx%2Fscorep_plugin_ucx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openucx","download_url":"https://codeload.github.com/openucx/scorep_plugin_ucx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openucx%2Fscorep_plugin_ucx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261837579,"owners_count":23217456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T15:23:11.699Z","updated_at":"2025-06-25T08:38:48.697Z","avatar_url":"https://github.com/openucx.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scorep UCX plugin\n\nScore-P UCX data acquisition plugin\n\nFirst, download, build and install the Huawei updated Score-P (currently not supported in the Score-P release),\n```\ngit clone https://github.com/shuki-zanyovka/scorep_6.0\n```\n\nThen, download and build the UCX plugin,\n\n```\ngit clone --recurse-submodules  https://github.com/shuki-zanyovka/scorep_plugin_ucx\ncd scorep_plugin_ucx\n```\n\nTo build:\n\n```\nmkdir BUILD\ncd BUILD\n\ncmake ../ -DCMAKE_C_STANDARD_COMPUTED_DEFAULT=GNU -DCMAKE_CXX_STANDARD_COMPUTED_DEFAULT=GNU -DCMAKE_CXX_COMPILER=mpic++ -DCMAKE_C_COMPILER=mpicc\nmake\n```\n\n# OpenMPI patches\n\nFor using with OpenMPI, please review and apply all patches under ./openmpi-patches directory (already applied in HMPI).\n\n# To use the plugin for data acquisition, please enable the plugin as follows,\n\n```\nexport LOCAL_USER_SCOREP_INSTALL_PATH=\u003cScore-P 6.0 Install Path\u003e/scorep-6.0\nexport SCOREP_PLUGIN_UCX_PATH=\u003cPlugin Path\u003e/scorep_plugin_ucx/BUILD\nexport OMPI_PATH=\u003cOpenMPI Install Path\u003e\n```\n\n# Set path for the UCX installation \n\n```\nexport UCX_INSTALL_PATH=\u003cUCX installation path, profiling enabled\u003e/ucx-prof\nexport UCS_LIB_PATH=\"$UCX_INSTALL_PATH/lib:$UCX_INSTALL_PATH/lib/ucx\"\n\nexport PATH=$OMPI_PATH/bin:$LOCAL_USER_SCOREP_INSTALL_PATH/bin:$PATH\n\nexport LD_LIBRARY_PATH=$SCOREP_PLUGIN_UCX_PATH:$SCOREP_PLUGIN_MPI_PATH:$OMPI_PATH:$UCS_LIB_PATH:$LOCAL_USER_SCOREP_INSTALL_PATH:$LD_LIBRARY_PATH\n\nexport SCOREP_METRIC_PLUGINS=\"scorep_plugin_ucx\"\n```\n\n# When using UCX@N, the number of UCX counters stored is limited to max = N. For example,\n\n```\nexport SCOREP_METRIC_SCOREP_PLUGIN_MPI=UCX@20\n```\n\n# Disable profiling and enable tracing,\n\n```\nexport SCOREP_ENABLE_PROFILING=false\nexport SCOREP_ENABLE_TRACING=true\nexport SCOREP_TOTAL_MEMORY=4000M\n```\n\n# It is recommended to use a Score-P filter file to reduce Score-P overhead,\n\n```\nexport SCOREP_FILTERING_FILE=./filter.scorep\n```\n\n# It is recommended to apply a UCX statistics filter as follows,\n\n```\nexport UCX_STATS_FILTER=\"rx_am*,bytes_short,bytes_bcopy,bytes_zcopy,rx*,tx*\"\n```\n\n# UCX should be configured to send statistics via UDP,\n\n```\nexport UCX_STATS_DEST=\"udp:localhost:37873\"\n```\n\n# Contact us at,\n\nshuki.zanyovka@gmail.com\n\n# Enable tracing\n\n```\nexport SCOREP_ENABLE_TRACING=true\n```\n\n# Note, that profiling must be disabled when using the UCX data acquisition plugin\n\n```\nexport SCOREP_ENABLE_PROFILING=false\n\nexport SCOREP_TOTAL_MEMORY=1000M\n\nexport UCX_STATS_DEST=\"udp:localhost:37873\"\n```\n\n# Apply UCX statistics filtering as follows,\n\n```\nexport UCX_STATS_FILTER=\"rx_am*,bytes_short,bytes_bcopy,bytes_zcopy,rx*,tx*\"\n\n```\n# Following configuration, execute the MPI application as follows,\n```\nmpirun -n 2 \u003cmpi_application\u003e\n```\n\n# UCX aggregate-sum counters statistics\n```\nThe Score-P UCX plugin uses the UCX aggregate-sum counters statistics by default - This basically means that,\n- All counters values of the same class/type will be saved in the same counter in the trace.\n\nPlease note, that the user should set the environment variables as follows to collect the UCX software counters,\n# Enable UCX SW counters collection.\nexport SCOREP_UCX_PLUGIN_UCX_COLLECTION_ENABLE=1\n# Enable NIC counters collection.\nexport SCOREP_UCX_PLUGIN_NIC_COLLECTION_ENABLE=0\n```\n\n# UCX Nvidia Connectx-* NIC counters aggregate-sum counters statistics\n```\nIn a separate run, the user can enable collecting the aggregate-sum of the Nvidia Connectix-* NIC counters by setting the following environment variables:\n\n# interface name, can be acquired using the 'ibdev2netdev' command as seen in the example below.\nexport SCOREP_UCX_PLUGIN_NIC_DEVICE_NAME=\"ens2f0\"\n# Enable UCX SW counters collection.\nexport SCOREP_UCX_PLUGIN_UCX_COLLECTION_ENABLE=0\n# Enable NIC counters collection.\nexport SCOREP_UCX_PLUGIN_NIC_COLLECTION_ENABLE=1\n\n$ ibdev2netdev\nmlx5_0 port 1 ==\u003e ens3f0 (Up)\nmlx5_1 port 1 ==\u003e ib0 (Down)\nmlx5_2 port 1 ==\u003e ens2f0 (Up)\nmlx5_3 port 1 ==\u003e ib1 (Down)\n\nNote, that this feature is disabled by default and is only supported over HUCX: https://github.com/kunpengcompute/hucx\nIt can be enabled by editing the following file: src/scorep_plugin_ucx_config.h and enabling the UCX_STATS_NIC_COUNTERS_ENABLE compilation flag.\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenucx%2Fscorep_plugin_ucx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenucx%2Fscorep_plugin_ucx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenucx%2Fscorep_plugin_ucx/lists"}