Skip to content
Merged

sync #29

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
186 commits
Select commit Hold shift + click to select a range
5727aee
AZP: add warning for azure
avildema Dec 1, 2020
434b9fd
UCP/WIREUP/GTEST: Fix dead code in CM disconnect
dmitrygx Nov 25, 2020
5c04b9e
GTEST/UCP: Fix review comments
dmitrygx Nov 25, 2020
8e10f29
UCP/WIREUP: Fix CM disconnect bugs
dmitrygx Nov 26, 2020
3ed57e7
UCP/WIREUP: Fix code cleanup
dmitrygx Nov 26, 2020
7c8bd96
UCP/EP: Fix review comments
dmitrygx Nov 27, 2020
1111358
UCP/WIREUP: Improve a comment and add useful assertion
dmitrygx Nov 27, 2020
5bc27a9
UCP/WIREUP: Fix typo in a comment
dmitrygx Nov 27, 2020
68eb80e
UCP/WIREUP: Fix review comments
dmitrygx Nov 30, 2020
10fd389
UCP/WIREUP: Fix case when EP was closed but not remote connected yet
dmitrygx Dec 2, 2020
87f54ea
UCP/WIREUP: Remove flush in disconnect_cb
dmitrygx Dec 2, 2020
fd5d2e8
UCP/CORE/WIREUP: Fix review comments
dmitrygx Dec 3, 2020
d958ebe
UCP/WIREUP: Fix review comments
dmitrygx Dec 3, 2020
c492245
UCP/CM: Fix leak of listener requests
yosefe Dec 3, 2020
ae06c8e
API/UCT/IFACE: added keepalive_timeout value
Dec 7, 2020
8346f5e
JENKINS: update cuda module version to 11.1.1
bureddy Dec 7, 2020
3e300a2
UCP: ucp_tag_msg_recv_nbx routine.
petro-rudenko Nov 28, 2020
971aad1
Merge pull request #5996 from leibin2014/master1
yosefe Dec 8, 2020
3fd1a31
TEST/IODEMO: Fix test destructor flow
yosefe Dec 3, 2020
b34727b
JENKINS: change log
avildema Dec 8, 2020
1d33c7f
UCP/WIREUP: use ucs topo to compare with mem_type md and adjust latency
Akshay-Venkatesh Nov 11, 2020
f1959fd
Merge pull request #5995 from bureddy/cuda-11.1.1
yosefe Dec 8, 2020
73830be
UCP/KEEPALIVE: removed incorrect assert
Nov 30, 2020
365c076
Merge pull request #5948 from dmitrygx/topic/ucp/cm_disconnect_call_e…
yosefe Dec 9, 2020
5c003ae
UCS/DATASTRUCT: Add bitmap data struct
gleon99 Nov 26, 2020
9d87dcb
UCS/CONFIG: fixed crash on incorrect value set
Dec 4, 2020
4234cdb
Merge pull request #5974 from avildema/azp_loging
yosefe Dec 9, 2020
f9c253a
Merge pull request #5982 from yosefe/topic/fix-iodemo-dtors
yosefe Dec 9, 2020
93cc94a
UCP/AMO: Use remote_addr from AMO part of request instead of RMA
dmitrygx Dec 9, 2020
6294470
Merge pull request #5987 from hoopoepg/topic/fixed-crash-on-incorrect…
yosefe Dec 9, 2020
d31041f
Merge pull request #5973 from gleon99/bitmap
yosefe Dec 9, 2020
8d4752f
UCP: Fix address unpacking error
brminich Dec 10, 2020
d50c796
Merge pull request #6004 from dmitrygx/topic/ucp/amo_sw
yosefe Dec 10, 2020
d90e702
Merge pull request #5966 from petro-rudenko/tag/recv_msg_nbx
yosefe Dec 10, 2020
0e5d50f
GTEST/UCP: Skip wireup 1sided disconnect test for TCP (workaround)
dmitrygx Dec 10, 2020
83d6fe2
UCP/CORE/GTEST: Rearrange fields in a UCP request to reduce its size
dmitrygx Dec 10, 2020
83f029c
Merge pull request #5972 from hoopoepg/topic/keepalive-fixed-incorrec…
brminich Dec 11, 2020
6e4d206
Merge pull request #5992 from hoopoepg/topic/iface-params-keepalive-t…
brminich Dec 11, 2020
2a60549
Merge pull request #6012 from dmitrygx/topic/ucp/gtest_wireup_test_sk…
yosefe Dec 11, 2020
6ee3602
Merge pull request #5897 from Akshay-Venkatesh/topic/cuda-sys-device-cmp
yosefe Dec 11, 2020
c524eab
TEST/IO_DEMO: Add a window on the client side, per every remote server
dmitrygx Dec 10, 2020
49e6122
UCP/HELLO-WORLD: added error simulations
Nov 13, 2020
392443a
Merge pull request #6014 from dmitrygx/topic/io_demo/conn_window_size
yosefe Dec 12, 2020
dabd4a1
CONTRIB: Add valgrind suppression for rdma_bind_addr()
yosefe Dec 11, 2020
2779ba6
JUCX: UCS Memory type constants.
petro-rudenko Dec 12, 2020
b7c81a4
UCS/UCT/IB: Ignore PFs without RDMA cap on BF2 according to its gid_t…
leibin2014 Nov 28, 2020
61beb70
IB/RDMACM: Add local and remote addresses to the reject error message.
alinask Dec 13, 2020
6f9a989
Merge pull request #6024 from alinask/topic/uct-rdmacm-enhance-reject…
yosefe Dec 13, 2020
85c6cc6
Merge pull request #5965 from leibin2014/bf2-1
yosefe Dec 13, 2020
90cd6c9
Merge pull request #5901 from hoopoepg/topic/ucp-hello-world-improved…
yosefe Dec 13, 2020
76371b7
Merge pull request #6018 from yosefe/topic/contrib-add-valgrind-suppr…
yosefe Dec 13, 2020
7b2cf2c
Merge pull request #6009 from brminich/topic/ucp_fix_addr_error
yosefe Dec 13, 2020
1795c1f
UCP/NBX: fixed external request free from CB
Dec 8, 2020
0580ef0
Merge pull request #6010 from dmitrygx/topic/ucp/request_size
brminich Dec 14, 2020
b81d710
UCS/MPOOL: Make elem defined for Valgrind
dmitrygx Dec 11, 2020
db2b2d3
JUCX: Prevent clang of formatting java files.
petro-rudenko Dec 14, 2020
7d38a90
UCT/CM/RDMACM: share dummy CQ per device
evgeny-leksikov Dec 7, 2020
893cf9c
TEST/APPS: Add test for multi-threaded call to ucp_init()
yosefe Dec 12, 2020
73eaf98
UCM/LOG: Improve and fix logger
yosefe Dec 12, 2020
475ab4e
Merge pull request #6020 from petro-rudenko/jucx/memtype-constants
yosefe Dec 14, 2020
3f3e099
UCP/GTEST: Fix and test ucp requests leak from the ptr_map
dmitrygx Dec 14, 2020
c8fa053
Merge pull request #6017 from dmitrygx/topic/ucs/mpool_elem_leak_check
yosefe Dec 14, 2020
6887a67
Merge pull request #5998 from hoopoepg/topic/fixed-external-request-f…
yosefe Dec 14, 2020
8427c7f
Merge pull request #6006 from dmitrygx/topic/ucp/rndv-ptr-map-fix
yosefe Dec 15, 2020
02782d0
Merge pull request #6016 from evgeny-leksikov/uct_rdmacm_cm_shared_cq_m
yosefe Dec 15, 2020
d0c7539
Merge pull request #6026 from petro-rudenko/jucx/clang-java
yosefe Dec 15, 2020
ccdc83a
AZP: io-demo analyzer
avildema Dec 14, 2020
122512a
UCM: Fix heap corruption caused by ucp_set_event_handler()
yosefe Dec 12, 2020
60e2cdf
UCM: Remove UCS dependencies
yosefe Dec 13, 2020
67a25c9
TEST/MEMHOOKS: Set UCM configuration after loading
yosefe Dec 13, 2020
796c105
UCP/TCP/KEEPALIVE: added processing of auto time
Dec 15, 2020
34f62cd
UCT/RC: Protect rc_iface->ep_list with a spinlock
yosefe Oct 29, 2020
68dc78f
RC/IFACE: added lock on rc_iface->eps access
Dec 7, 2020
e8761c8
UCT/RC: use common spin lock for iface eps and ep_list
evgeny-leksikov Dec 15, 2020
6e4fa9c
Merge pull request #5959 from hoopoepg/topic/keepalive-time-auto
yosefe Dec 15, 2020
1aa7505
Merge pull request #6028 from evgeny-leksikov/uct_rc_ep_list_lock
yosefe Dec 15, 2020
c5896de
CONFIG/SPEC: Bump version to 1.11.0
yosefe Dec 15, 2020
1e16a8c
Merge pull request #6031 from yosefe/topic/config-spec-bump-version-t…
yosefe Dec 16, 2020
fe4378b
Merge pull request #6022 from yosefe/topic/ucm-fix-init-race
yosefe Dec 16, 2020
50c10f2
Merge pull request #5958 from avildema/azp_analyzer
yosefe Dec 16, 2020
b609ad1
UCT/DC: Flush TX
Artemy-Mellanox Nov 15, 2020
ac17a6f
UCT/CM/RDMACM: add UCX_RDMA_CM_SOURCE_ADDRESS config
evgeny-leksikov Dec 9, 2020
bc170a0
UCP/AM: Define persistent data flag for AM handlers
brminich Dec 9, 2020
957be76
UCT/API: Added new UCT EP AM short IOV API.
rakhmets Nov 23, 2020
5c5fe65
Merge pull request #6007 from evgeny-leksikov/uct_rdmacm_local_addr
alinask Dec 17, 2020
3386ed7
Merge pull request #6005 from brminich/topic/ucp_am_persist_data
yosefe Dec 17, 2020
92d6b2a
UCT/IB: Fixes for SL selection
dmitrygx Dec 16, 2020
a58c494
Merge pull request #5872 from Artemy-Mellanox/topic/flush_cancel_nb-2
yosefe Dec 17, 2020
3a2db57
Merge pull request #6033 from dmitrygx/topic/uct/ib_sl_select
yosefe Dec 18, 2020
d9228a8
Merge pull request #5941 from rakhmets/uct_ep_am_short_iov
yosefe Dec 18, 2020
bd98788
TEST/UCM/JENKINS: Extend memtype hook tests
yosefe Dec 17, 2020
b20bf4c
UCS/TOOLS/BUILD: Infrastructure for FUSE-based monitoring file-system
yosefe Nov 13, 2020
daa69c5
RC_MLX5/IFACE: fixed assert
Dec 18, 2020
c39e054
TOOLS/PERF: Added performance tests for am short iov.
rakhmets Dec 14, 2020
cb5de58
UCP: call user calbback on ucp_ep_close_nbx.
petro-rudenko Dec 16, 2020
ea23a9d
WIREUP: exclude ep_check lanes where KA supported from map
Dec 17, 2020
c818f52
TOOLS/PERF: Addressed review comments.
rakhmets Dec 18, 2020
3897b8b
UCT/IB/UD: Implemented AM short IOV in UD verbs.
rakhmets Dec 4, 2020
f8051f2
UCP/MEM_TYPE: Adjust mem type zcopy thresh if user sets UCX_ZCOPY_THRESH
bureddy Dec 18, 2020
423d30f
Merge pull request #6046 from hoopoepg/topic/fixed-assert-adaptive-ro…
yosefe Dec 18, 2020
2dfb8cd
UCT/IB: Handle multiple flush cancel w/o completion
dmitrygx Dec 19, 2020
c241f74
Merge pull request #5935 from yosefe/topic/ucs-tools-build-infrastruc…
yosefe Dec 19, 2020
9fa5475
Merge pull request #6045 from yosefe/topic/test-ucm-jenkins-extend-me…
yosefe Dec 19, 2020
1d22f74
Merge pull request #6050 from rakhmets/topic/perf-test-am-short-iov
yosefe Dec 19, 2020
be02557
UCT/IB/RC: Don't modify QP state to error multiple times during FLUSH…
dmitrygx Dec 19, 2020
1990b32
UCP/MEM_TYPE: Fix review comments
bureddy Dec 21, 2020
48c0547
UCT/IB/UD: Addressed review comments.
rakhmets Dec 22, 2020
c27e623
Merge pull request #6039 from hoopoepg/topic/update-ep-check-map
brminich Dec 23, 2020
5922053
Merge pull request #6053 from rakhmets/topic/ep-am-short-iov-ud
yosefe Dec 27, 2020
d42c2c2
Merge pull request #6055 from dmitrygx/topic/uct/ib_handle_multi_cancel
yosefe Dec 27, 2020
0bfdac5
CODE: Use custom LLVM build, improve clang-format configuration
gleon99 Dec 8, 2020
5d2d935
Merge pull request #6036 from petro-rudenko/ucp/ep-close-callback
yosefe Dec 27, 2020
7949911
UCT/IB/DEVX: Set modify-QP global address parameters only for GRH case
yosefe Dec 28, 2020
2b24b35
Merge pull request #6054 from bureddy/mem_type-zcopy
yosefe Dec 28, 2020
91cfaa2
AZP: Remove HWI test node due to server issues
yosefe Dec 28, 2020
a914f97
UCS: Move UCS_STATIC_INIT macro to compiler_def.h
bureddy Dec 29, 2020
dc29cfd
GTEST/UCP/SOCKADDR: Increase flush timeout
Artemy-Mellanox Dec 18, 2020
d89a748
Merge pull request #6065 from yosefe/topic/azp-remove-hwi-test-node-d…
yosefe Dec 29, 2020
e46216f
Merge pull request #6047 from Artemy-Mellanox/topic/flush_dbg-1
yosefe Dec 29, 2020
8a3932c
UCT/IB/RC: Implemented AM short IOV in RC verbs.
rakhmets Dec 3, 2020
6612dd0
Merge pull request #6061 from yosefe/topic/uct-ib-devx-set-modify-qp-…
yosefe Dec 29, 2020
44623a5
AZP/IODEMO: Fix data racing between pipelines
avildema Dec 17, 2020
c5c57ea
JUCX: Request AM feature support.
petro-rudenko Dec 29, 2020
647019f
JUCX: add memory type hint to ucp operations.
petro-rudenko Dec 29, 2020
c70a3aa
Merge pull request #6042 from avildema/iodemo_uniq
yosefe Dec 29, 2020
7edc0f5
Merge pull request #6013 from gleon99/clang-format-llvm
yosefe Dec 29, 2020
c6d1387
Merge pull request #6052 from rakhmets/topic/ep-am-short-iov-rc
yosefe Dec 29, 2020
b88f99a
JUCX: add requestAmFeature to test.
petro-rudenko Dec 30, 2020
1b362b6
UCP/AM: GPU support for UCP AM
brminich Dec 17, 2020
df2ca4c
Merge pull request #6066 from bureddy/fix-ucs-macro
yosefe Dec 30, 2020
9e8de6a
UCS/VFS/TEST: Implement VFS socket operations
yosefe Dec 22, 2020
39891d4
GIT: Add .vscode, .classpath, and .externalToolBuilders to .gitignore
yosefe Dec 30, 2020
9cc51e2
UCT/TCP: Implemented AM short IOV in TCP.
rakhmets Dec 4, 2020
2a19d9c
Merge pull request #6068 from petro-rudenko/jucx/am-flags
yosefe Dec 30, 2020
d5bb7c7
Merge pull request #6070 from petro-rudenko/jucx/memory-type-hint
yosefe Dec 30, 2020
75c2b17
Merge pull request #6063 from yosefe/topic/ucs-vfs-test-implement-vfs…
yosefe Dec 30, 2020
eedd443
TOOLS/VFS: Add skeleton for VFS mount daemon
yosefe Dec 22, 2020
3be758b
Merge pull request #6051 from rakhmets/topic/ep-am-short-iov-tcp
yosefe Dec 30, 2020
b6d4446
Merge pull request #6041 from brminich/topic/ucp_am_gpu_p1
yosefe Dec 30, 2020
0c5526e
AZP/IODEMO: add LD_LIBRARY_PATH
avildema Dec 30, 2020
2ac0e92
Merge pull request #6073 from yosefe/topic/git-add-vscode-classpath-a…
yosefe Dec 31, 2020
84dfddb
Merge pull request #6077 from avildema/azp_iodemo_fix
yosefe Dec 31, 2020
496fb89
TOOLS/VFS: Fix review comments and statick check error
yosefe Dec 31, 2020
0ff146a
UCT/IB/UD: Fix typedef for iface address
dmitrygx Dec 31, 2020
ad72dea
UCP/WIREUP: Don't allow wireup EP over wireup EP
dmitrygx Dec 31, 2020
d965d79
UCP/CORE: Remove incorrect assertion
dmitrygx Dec 31, 2020
0779fde
UCS/VFS: Connect to daemon and expose dummy filesystem
yosefe Dec 22, 2020
d19a639
UCT/IB/UD: Introduce EP check (Keep Alive)
dmitrygx Dec 30, 2020
37d45f9
UCT: Prevent segfault in uct_rdmacm_cm_ep_str when id is not initiali…
petro-rudenko Dec 30, 2020
cb1087c
Merge pull request #6078 from dmitrygx/topic/ucp/wireup_ep_fix
yosefe Jan 1, 2021
1091127
Merge pull request #6083 from dmitrygx/topic/uct/ib_ud_addr
yosefe Jan 1, 2021
bac4380
Merge pull request #6076 from petro-rudenko/uct/fix-uct_rdmacm_cm_ep_str
yosefe Jan 1, 2021
918d01e
Merge pull request #6080 from dmitrygx/topic/uct/ud_ep_check
yosefe Jan 1, 2021
48cd4cd
UCP/KEEPALIVE: enabled by default
Dec 24, 2020
7818294
Merge pull request #6079 from yosefe/topic/tools-vfs-add-skeleton-for…
yosefe Jan 2, 2021
ad547a0
Merge pull request #6059 from hoopoepg/topic/enable-keeplive-by-default
yosefe Jan 2, 2021
6779b17
VFS/FUSE: Code style fix
yosefe Jan 2, 2021
2937bf5
TOOLS/VFS: Implement mount daemon server loop
yosefe Dec 22, 2020
0ce4ac8
Merge pull request #6085 from yosefe/topic/tools-vfs-implement-mount-…
yosefe Jan 3, 2021
1da555b
Merge pull request #6084 from yosefe/topic/ucs-vfs-connect-to-daemon-…
yosefe Jan 3, 2021
c5ec282
UCP/CORE: Remove unused pending queue
dmitrygx Jan 3, 2021
b89a4e4
JENKINS: test CM's fallback in client-server testing
alinask Dec 16, 2020
91470de
Merge pull request #6086 from dmitrygx/topic/ucp/worker_uct_err_handling
yosefe Jan 4, 2021
27444eb
UCM/BISTRO/CUDA: Add bisro hooks for Cuda
yosefe Dec 16, 2020
705eb62
JENKINS: Fix distributed task workers count
yosefe Dec 31, 2020
31c9220
UCT/IB/MLX5: DV UAR alloc type NC support
Artemy-Mellanox Dec 31, 2020
8587242
Merge pull request #6035 from alinask/topic/jenkins-io-demo-tcp-ip
yosefe Jan 4, 2021
c79072c
Merge pull request #6038 from yosefe/topic/cuda-bistro-hooks
yosefe Jan 4, 2021
515e016
UCP/WORKER: Fix mis-spelling
yosefe Jan 2, 2021
88afadc
Merge pull request #6090 from yosefe/topic/ucp-worker-fix-mis-spelling
yosefe Jan 5, 2021
4e4f44f
Merge pull request #6082 from Artemy-Mellanox/topic/dv_uar_nc
yosefe Jan 5, 2021
8024093
CUDA/TEST: Check if libcudart_static is present for memory hook test
yosefe Jan 4, 2021
219a500
UCP/EP: set callback on close request.
petro-rudenko Dec 31, 2020
f261040
JUCX: add request status field.
petro-rudenko Dec 12, 2020
db9549d
Merge pull request #6081 from petro-rudenko/ucp/set-callback-on-close…
yosefe Jan 5, 2021
c01b78f
BUILD/CUDA: Separate CUDA_LIBS from CUDA_LDFLAGS
yosefe Jan 6, 2021
ab52d12
Merge pull request #6092 from petro-rudenko/jucx/request-status2
yosefe Jan 6, 2021
389768e
UCP/WIREUP: Allow EP check during WIREUP phase
dmitrygx Jan 2, 2021
677607a
UCS/UCT/IB: Get device/vendor id of SF from its parent PCI
leibin2014 Nov 28, 2020
8ef1409
UCS/DATASTRUCT: Add allow_list data struct
gleon99 Dec 7, 2020
a245659
UCP/UCT/TEST/EXAMPLES: Fix several coverity issues.
alinask Jan 5, 2021
fd8f8b2
Merge pull request #6069 from dmitrygx/topic/ucp/wireup_ep_check
yosefe Jan 6, 2021
0d1ca83
Merge pull request #6089 from yosefe/topic/cuda-test-check-if-libcuda…
yosefe Jan 6, 2021
885bd63
Merge pull request #6094 from alinask/topic/ucp-wireup-cm-cov
yosefe Jan 7, 2021
e843d3e
Merge pull request #5964 from leibin2014/bf2
yosefe Jan 7, 2021
01a0866
Merge pull request #6023 from gleon99/allow-list
yosefe Jan 7, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 38 additions & 15 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
BasedOnStyle: LLVM
AlignEscapedNewlines: DontAlign
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: false
AlignConsecutiveDeclarations: true
AlignConsecutiveStructMembers: true
AlignConsecutiveMacros: true
AlignAfterOpenBracket: true
AlignOperands: true
Expand All @@ -20,13 +21,13 @@ AlwaysBreakAfterReturnType: None
PenaltyReturnTypeOnItsOwnLine: 100
PenaltyBreakAssignment: 100
PenaltyExcessCharacter: 10
ColumnLimit: 85
ColumnLimit: 80
AlwaysBreakBeforeMultilineStrings: false
BinPackArguments: true
BinPackParameters: true
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
Expand Down Expand Up @@ -58,7 +59,36 @@ SpaceInEmptyParentheses: false
SpaceBeforeParens: ControlStatementsExceptForEachMacros
SpaceBeforeAssignmentOperators: true
SpaceAfterCStyleCast: false
ForEachMacros: ["ucs_for_each_submask"]
SortIncludes: false
ForEachMacros: ['FOR_EACH_ENTITY',
'kh_foreach',
'kh_foreach_key',
'kh_foreach_value',
'ucp_unpacked_address_for_each',
'ucs_array_for_each',
'UCS_BITMAP_FOR_EACH_BIT',
'ucs_for_each_bit',
'ucs_for_each_submask',
'ucs_hlist_for_each',
'ucs_hlist_for_each_extract',
'ucs_hlist_for_each_extract_if',
'ucs_list_for_each',
'ucs_list_for_each_safe',
'ucs_memory_type_for_each',
'UCS_PP_FOREACH',
'UCS_PP_FOREACH_SEP',
'ucs_profile_for_each_location',
'ucs_ptr_array_for_each',
'ucs_ptr_array_locked_for_each',
'ucs_queue_for_each',
'ucs_queue_for_each_extract',
'ucs_queue_for_each_safe',
'ucs_timerq_for_each_expired',
'UCT_IB_IFACE_VERBS_FOREACH_RXWQE',
'UCT_RC_VERBS_IFACE_FOREACH_TXWQE',
'UCS_INIT_ONCE',
'UCS_TEST_F',
'UCX_PERF_TEST_FOREACH']

# CPP
Standard: Cpp11
Expand All @@ -73,7 +103,6 @@ FixNamespaceComments: true
NamespaceIndentation: None
UseTab: Never
ReflowComments: true
SortIncludes: true
IncludeCategories:
- Regex: '^"'
Priority: 1
Expand All @@ -85,13 +114,7 @@ SpacesInAngles: false
SpacesBeforeTrailingComments: 1
SpaceAfterTemplateKeyword: false
SpacesInContainerLiterals: false

# Issues:
# 1.
# Pointer alignment + declaration alignment:
# long_type_name var;
# void * ptr;
# Instead of:
#void *ptr;

...
---
# Java
Language: Java
DisableFormat: true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,6 @@ GTAGS
*.swp
compile_commands.json
.idea/
.externalToolBuilders
.classpath
.vscode
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ SUBDIRS += $(UCG_SUBDIR)
endif

SUBDIRS += \
src/tools/vfs \
src/tools/info \
src/tools/perf \
src/tools/profile \
Expand Down
3 changes: 2 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@

## Current
### Features: TBD
#### UCX Core TBD
#### UCX Core
- Added ucp_tag_msg_recv_nbx routine.
#### UCX Java (API Preview) TBD
### Bugfixes: TBD

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public class UcpConstants {
static long UCP_FEATURE_AMO64;
static long UCP_FEATURE_WAKEUP;
static long UCP_FEATURE_STREAM;
static long UCP_FEATURE_AM;

/**
* UCP worker parameters field mask.
Expand Down
102 changes: 82 additions & 20 deletions bindings/java/src/main/java/org/openucx/jucx/ucp/UcpEndpoint.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@
import java.io.Closeable;
import java.nio.ByteBuffer;

import static org.openucx.jucx.ucs.UcsConstants.MEMORY_TYPE.UCS_MEMORY_TYPE_UNKNOWN;

public class UcpEndpoint extends UcxNativeStruct implements Closeable {
private final String paramsString;
private String paramsString;
// Keep a reference to errorHandler to prevent it from GC and have valid ref
// from JNI error handler.
private final UcpEndpointErrorHandler errorHandler;
private UcpEndpointErrorHandler errorHandler;

@Override
public String toString() {
Expand Down Expand Up @@ -81,9 +83,15 @@ public UcpRequest putNonBlocking(ByteBuffer src, long remoteAddress, UcpRemoteKe
public UcpRequest putNonBlocking(long localAddress, long size,
long remoteAddress, UcpRemoteKey remoteKey,
UcxCallback callback) {
return putNonBlocking(localAddress, size, remoteAddress, remoteKey, callback,
UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest putNonBlocking(long localAddress, long size,
long remoteAddress, UcpRemoteKey remoteKey,
UcxCallback callback, int memoryType) {
return putNonBlockingNative(getNativeId(), localAddress,
size, remoteAddress, remoteKey.getNativeId(), callback);
size, remoteAddress, remoteKey.getNativeId(), callback, memoryType);
}

/**
Expand Down Expand Up @@ -136,8 +144,16 @@ public UcpRequest getNonBlocking(long remoteAddress, UcpRemoteKey remoteKey,
public UcpRequest getNonBlocking(long remoteAddress, UcpRemoteKey remoteKey,
long localAddress, long size, UcxCallback callback) {

return getNonBlocking(remoteAddress, remoteKey, localAddress, size, callback,
UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest getNonBlocking(long remoteAddress, UcpRemoteKey remoteKey,
long localAddress, long size, UcxCallback callback,
int memoryType) {

return getNonBlockingNative(getNativeId(), remoteAddress, remoteKey.getNativeId(),
localAddress, size, callback);
localAddress, size, callback, memoryType);
}

/**
Expand Down Expand Up @@ -192,7 +208,13 @@ public UcpRequest sendTaggedNonBlocking(ByteBuffer sendBuffer, long tag, UcxCall

public UcpRequest sendTaggedNonBlocking(long localAddress, long size,
long tag, UcxCallback callback) {
return sendTaggedNonBlockingNative(getNativeId(), localAddress, size, tag, callback);
return sendTaggedNonBlocking(localAddress, size, tag, callback, UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest sendTaggedNonBlocking(long localAddress, long size,
long tag, UcxCallback callback, int memoryType) {
return sendTaggedNonBlockingNative(getNativeId(), localAddress, size, tag, callback,
memoryType);
}

/**
Expand All @@ -207,11 +229,17 @@ public UcpRequest sendTaggedNonBlocking(ByteBuffer sendBuffer, UcxCallback callb
* Iov version of non blocking send operaation
*/
public UcpRequest sendTaggedNonBlocking(long[] localAddresses, long[] sizes,
long tag, UcxCallback callback) {
long tag, UcxCallback callback, int memoryType) {
UcxParams.checkArraySizes(localAddresses, sizes);

return sendTaggedIovNonBlockingNative(getNativeId(), localAddresses, sizes,
tag, callback);
tag, callback, memoryType);
}

public UcpRequest sendTaggedNonBlocking(long[] localAddresses, long[] sizes,
long tag, UcxCallback callback) {

return sendTaggedNonBlocking(localAddresses, sizes, tag, callback, UCS_MEMORY_TYPE_UNKNOWN);
}

/**
Expand All @@ -222,14 +250,27 @@ public UcpRequest sendTaggedNonBlocking(long[] localAddresses, long[] sizes,
* completion of the send operation.
*/
public UcpRequest sendStreamNonBlocking(long localAddress, long size, UcxCallback callback) {
return sendStreamNonBlockingNative(getNativeId(), localAddress, size, callback);
return sendStreamNonBlocking(localAddress, size, callback, UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest sendStreamNonBlocking(long localAddress, long size, UcxCallback callback,
int memoryType) {
return sendStreamNonBlockingNative(getNativeId(), localAddress, size, callback, memoryType);
}

public UcpRequest sendStreamNonBlocking(long[] localAddresses, long[] sizes,
UcxCallback callback) {
UcxParams.checkArraySizes(localAddresses, sizes);

return sendStreamIovNonBlockingNative(getNativeId(), localAddresses, sizes, callback);
return sendStreamNonBlocking(localAddresses, sizes, callback, UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest sendStreamNonBlocking(long[] localAddresses, long[] sizes,
UcxCallback callback, int memoryType) {
UcxParams.checkArraySizes(localAddresses, sizes);

return sendStreamIovNonBlockingNative(getNativeId(), localAddresses, sizes, callback,
memoryType);
}

public UcpRequest sendStreamNonBlocking(ByteBuffer buffer, UcxCallback callback) {
Expand All @@ -244,17 +285,30 @@ public UcpRequest sendStreamNonBlocking(ByteBuffer buffer, UcxCallback callback)
* the UCP library will invoke the call-back when data is in the receive buffer
* and ready for application access.
*/
public UcpRequest recvStreamNonBlocking(long localAddress, long size, long flags,
UcxCallback callback, int memoryType) {
return recvStreamNonBlockingNative(getNativeId(), localAddress, size, flags, callback,
memoryType);
}

public UcpRequest recvStreamNonBlocking(long localAddress, long size, long flags,
UcxCallback callback) {
return recvStreamNonBlockingNative(getNativeId(), localAddress, size, flags, callback);
return recvStreamNonBlocking(localAddress, size, flags, callback, UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest recvStreamNonBlocking(long[] localAddresses, long[] sizes, long flags,
UcxCallback callback) {
UcxCallback callback, int memoryType) {
UcxParams.checkArraySizes(localAddresses, sizes);

return recvStreamIovNonBlockingNative(getNativeId(), localAddresses, sizes, flags,
callback);
callback, memoryType);
}

public UcpRequest recvStreamNonBlocking(long[] localAddresses, long[] sizes, long flags,
UcxCallback callback) {

return recvStreamNonBlocking(localAddresses, sizes, flags, callback,
UCS_MEMORY_TYPE_UNKNOWN);
}

public UcpRequest recvStreamNonBlocking(ByteBuffer buffer, long flags, UcxCallback callback) {
Expand Down Expand Up @@ -297,45 +351,53 @@ public UcpRequest closeNonBlockingFlush() {

private static native UcpRequest putNonBlockingNative(long enpointId, long localAddress,
long size, long remoteAddr,
long ucpRkeyId, UcxCallback callback);
long ucpRkeyId, UcxCallback callback,
int memoryType);

private static native void putNonBlockingImplicitNative(long enpointId, long localAddress,
long size, long remoteAddr,
long ucpRkeyId);

private static native UcpRequest getNonBlockingNative(long enpointId, long remoteAddress,
long ucpRkeyId, long localAddress,
long size, UcxCallback callback);
long size, UcxCallback callback,
int memoryType);

private static native void getNonBlockingImplicitNative(long enpointId, long remoteAddress,
long ucpRkeyId, long localAddress,
long size);

private static native UcpRequest sendTaggedNonBlockingNative(long enpointId, long localAddress,
long size, long tag,
UcxCallback callback);
UcxCallback callback,
int memoryType);

private static native UcpRequest sendTaggedIovNonBlockingNative(long enpointId,
long[] localAddresses,
long[] sizes, long tag,
UcxCallback callback);
UcxCallback callback,
int memoryType);

private static native UcpRequest sendStreamNonBlockingNative(long enpointId, long localAddress,
long size, UcxCallback callback);
long size, UcxCallback callback,
int memoryType);

private static native UcpRequest sendStreamIovNonBlockingNative(long enpointId,
long[] localAddresses,
long[] sizes,
UcxCallback callback);
UcxCallback callback,
int memoryType);

private static native UcpRequest recvStreamNonBlockingNative(long enpointId, long localAddress,
long size, long flags,
UcxCallback callback);
UcxCallback callback,
int memoryType);

private static native UcpRequest recvStreamIovNonBlockingNative(long enpointId,
long[] localAddresses,
long[] sizes, long flags,
UcxCallback callback);
UcxCallback callback,
int memoryType);

private static native UcpRequest flushNonBlockingNative(long enpointId, UcxCallback callback);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,15 @@ public UcpParams requestTagFeature() {
return this;
}

/**
* Request Active Message support feature.
*/
public UcpParams requestAmFeature() {
this.fieldMask |= UcpConstants.UCP_PARAM_FIELD_FEATURES;
this.features |= UcpConstants.UCP_FEATURE_AM;
return this;
}

/**
* Request remote memory access support.
*/
Expand Down
10 changes: 10 additions & 0 deletions bindings/java/src/main/java/org/openucx/jucx/ucp/UcpRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import org.openucx.jucx.UcxCallback;
import org.openucx.jucx.UcxNativeStruct;
import org.openucx.jucx.ucs.UcsConstants;

import java.io.Closeable;
import java.nio.ByteBuffer;
Expand All @@ -21,6 +22,8 @@ public class UcpRequest extends UcxNativeStruct implements Closeable {

private long senderTag;

private int status = UcsConstants.STATUS.UCS_INPROGRESS;

private UcpRequest(long nativeId) {
setNativeId(nativeId);
}
Expand Down Expand Up @@ -52,6 +55,13 @@ public boolean isCompleted() {
return (getNativeId() == null) || isCompletedNative(getNativeId());
}

/**
* @return status of the current request
*/
public int getStatus() {
return status;
}

/**
* This routine releases the non-blocking request back to the library, regardless
* of its current state. Communications operations associated with this request
Expand Down
Loading