File: wire_compat.yml

package info (click to toggle)
mpich 4.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 101,184 kB
  • sloc: ansic: 1,040,629; cpp: 82,270; javascript: 40,763; perl: 27,933; python: 16,041; sh: 14,676; xml: 14,418; f90: 12,916; makefile: 9,270; fortran: 8,046; java: 4,635; asm: 324; ruby: 103; awk: 27; lisp: 19; php: 8; sed: 4
file content (136 lines) | stat: -rw-r--r-- 5,148 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
parameters:
  demands: []
  name: subtest
  container:
  ucx_targets:
    ucx_1_14:
      ucx_tag: v1.14.0
    ucx_1_15:
      ucx_tag: v1.15.x
    ucx_1_16:
      ucx_tag: v1.16.x
    ucx_1_17:
      ucx_tag: v1.17.x
    ucx_1_18:
      ucx_tag: v1.18.x

jobs:
  - job: build_pr_${{ parameters.name }}
    displayName: Build on ${{ parameters.name }}
    workspace:
      clean: outputs
    pool:
      name: MLNX
      demands: ${{ parameters.demands }}

    ${{ if parameters.container }}:
      container: ${{ parameters.container }}
    steps:
      - checkout: self
        clean: true
        fetchDepth: 1
        retryCountOnTaskFailure: 5

      - bash: |
          set -eE
          ./autogen.sh
          ucx_dir=$(System.DefaultWorkingDirectory)/ucx-install-current
          ./contrib/configure-release --enable-assertions  --without-java --without-go --prefix=${ucx_dir}
          make -s -j `nproc`
          make install
        displayName: Build ucx artifact

      - task: PublishBuildArtifacts@1
        inputs:
          pathToPublish: '$(System.DefaultWorkingDirectory)/ucx-install-current'
          artifactName: ucx_current_$(Build.BuildId)_${{ parameters.name }}

  - job: test_wire_compat_${{ parameters.name }}
    dependsOn: build_pr_${{ parameters.name }}
    displayName: Test wire compatibility ${{ parameters.name }}
    workspace:
      clean: outputs
    pool:
      name: MLNX
      demands: ${{ parameters.demands }}
    strategy:
      matrix: ${{ parameters.ucx_targets }}
    ${{ if parameters.container }}:
      container: ${{ parameters.container }}
    variables:
      ucx_current: ucx_current_$(Build.BuildId)_${{ parameters.name }}
      ucx_legacy: ucx_$(ucx_tag)_$(Build.BuildId)_${{ parameters.name }}
      test_dir: $(System.DefaultWorkingDirectory)/$(ucx_legacy)/examples
    steps:
      - checkout: self
        clean: true
        fetchDepth: 1
        retryCountOnTaskFailure: 5
      - task: DownloadBuildArtifacts@0
        displayName: Download UCX current
        inputs:
          artifactName: $(ucx_current)
          downloadPath: $(System.DefaultWorkingDirectory)
      - bash: chmod u+rwx $(System.DefaultWorkingDirectory)/$(ucx_current)/bin/ucx_info
      - bash: |
          set -eEx
          source buildlib/az-helpers.sh
          ucx_dir=$(System.DefaultWorkingDirectory)/$(ucx_legacy)
          depth=1
          git_clone_with_retry "$(ucx_tag)" "${ucx_dir}" "${depth}"
          cd ${ucx_dir}
          ./autogen.sh
          ./contrib/configure-release --enable-assertions --prefix=${PWD} --without-java --without-go
          make -s -j `nproc`
          make install

          cd ./examples
          gcc -I${ucx_dir}/include -L${ucx_dir}/lib -o client_server ucp_client_server.c -lm -lucs -lucp
          gcc -I${ucx_dir}/include -L${ucx_dir}/lib -o ucp_hworld ucp_hello_world.c -lm -lucs -lucp
        displayName: Build ucx artifact
      - bash: buildlib/tools/check_tls_perf_caps.sh
        env:
          UCX_PR_PATH: $(System.DefaultWorkingDirectory)/$(ucx_current)
          UCX_LEGACY_PATH: $(System.DefaultWorkingDirectory)/$(ucx_legacy)
        displayName: compare tls performance characteristics
        condition: ne(variables.ucx_tag, 'v1.14.0')
      - bash: |
          export WIRE_COMPAT_STAGE_ID=1
          buildlib/tools/test_wire_compat.sh $(test_dir)/client_server -a "-c tag"
        env:
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_current)/lib
          UCX_LEGACY_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_legacy)/lib
          AZP_AGENT_ID: $(AZP_AGENT_ID)
        displayName: ucp_client_server with UCX $(ucx_tag)
        condition: ne(variables.ucx_tag, 'v1.14.0')
        timeoutInMinutes: 2
      - bash: |
          export WIRE_COMPAT_STAGE_ID=2
          buildlib/tools/test_wire_compat.sh $(test_dir)/ucp_hworld -n
        env:
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_current)/lib
          UCX_LEGACY_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_legacy)/lib
          AZP_AGENT_ID: $(AZP_AGENT_ID)
        displayName: ucp_hello_world with UCX $(ucx_tag)
        timeoutInMinutes: 2
      - bash: |
          export WIRE_COMPAT_STAGE_ID=3
          buildlib/tools/test_wire_compat.sh $(test_dir)/client_server -a "-c tag"
        env:
          UCX_TLS: ^sm
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_current)/lib
          UCX_LEGACY_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_legacy)/lib
          AZP_AGENT_ID: $(AZP_AGENT_ID)
        displayName: ucp_client_server (no sm) with UCX $(ucx_tag)
        condition: ne(variables.ucx_tag, 'v1.14.0')
        timeoutInMinutes: 2
      - bash: |
          export WIRE_COMPAT_STAGE_ID=4
          buildlib/tools/test_wire_compat.sh $(test_dir)/ucp_hworld -n
        env:
          UCX_TLS: ^sm
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_current)/lib
          UCX_LEGACY_LIB_PATH: $(System.DefaultWorkingDirectory)/$(ucx_legacy)/lib
          AZP_AGENT_ID: $(AZP_AGENT_ID)
        displayName: ucp_hello_world (no sm) with UCX $(ucx_tag)
        timeoutInMinutes: 2