Skip to content

Commit cbd2256

Browse files
authored
Merge pull request STEllAR-GROUP#6687 from uiuc-hpc/update-option
lci pp: change default ndevices=2 and progress_type=worker; improve document
2 parents eba0ae3 + 0dbbee2 commit cbd2256

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

docs/sphinx/manual/using_the_lci_parcelport.rst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,22 @@ when using the LCI parcelport to get better performance.
120120
121121
This setting needs roughly 800MB memory per process. The memory consumption mainly
122122
comes from the packets, which can be calculated using `LCI_SERVER_NUM_PKTS x LCI_PACKET_SIZE`.
123+
124+
In addition, users can tune the following command-line options
125+
when using the LCI parcelport to get better performance.
126+
127+
.. option:: --hpx:ini=hpx.parcel.lci.ndevices=<int>
128+
129+
The number of LCI devices to use. The default value is 2.
130+
An LCI device represents a collection of network resources.
131+
More devices lead to lower thread contention, but too many devices
132+
may lead to load imbalance or hardware overhead.
133+
134+
.. option:: --hpx:ini=hpx.parcel.lci.progress_type=<worker|rp>
135+
136+
The way to progress the LCI device. The default value is ``worker``.
137+
The ``worker`` option uses all worker threads to progress the LCI devices.
138+
The ``rp`` option uses dedicated pinned threads to progress the LCI devices.
139+
Normally, the ``worker`` option gives better performance, but the ``rp`` option
140+
has been observed with better performance on some clusters with
141+
prior generation of InfiniBand hardware.

libs/full/parcelport_lci/include/hpx/parcelport_lci/parcelport_lci.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,10 @@ namespace hpx::traits {
264264
"protocol = putsendrecv\n"
265265
"comp_type_header = queue\n"
266266
"comp_type_followup = queue\n"
267-
"progress_type = rp\n"
267+
"progress_type = worker\n"
268268
"prepost_recv_num = 1\n"
269269
"reg_mem = 1\n"
270-
"ndevices = 1\n"
270+
"ndevices = 2\n"
271271
"ncomps = 1\n"
272272
"enable_in_buffer_assembly = 1\n"
273273
"send_nb_max_retry = 32\n"

0 commit comments

Comments
 (0)