File: distro.yml

package info (click to toggle)
mpich 4.3.0%2Breally4.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 419,120 kB
  • sloc: ansic: 1,215,557; cpp: 74,755; javascript: 40,763; f90: 20,649; sh: 18,463; xml: 14,418; python: 14,397; perl: 13,772; makefile: 9,279; fortran: 8,063; java: 4,553; asm: 324; ruby: 176; lisp: 19; php: 8; sed: 4
file content (180 lines) | stat: -rw-r--r-- 7,060 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
jobs:
    # Perform test builds on relevant distributions.
  - job: Distros
    displayName: Build for distros
    workspace:
      clean: all
    pool:
      name: MLNX
      demands:
      - ucx_docker -equals yes
    strategy:
      matrix:
        centos7:
          CONTAINER: centos7
          CONFIGURE_OPTS:
    container: $[ variables['CONTAINER'] ]
    steps:
      - checkout: self
        clean: true
        fetchDepth: 100

      - bash: |
          set -eE
          . buildlib/tools/common.sh
          prepare_build
          ${WORKSPACE}/configure $(CONFIGURE_OPTS) --prefix=$(Build.Repository.LocalPath)/install
          gcc -v
          make -s -j `nproc`
          make install

          mkdir -p $(Build.Repository.LocalPath)/install/examples
          cd ${WORKSPACE}/examples
          gcc -lm -lucs -lucp -I$(Build.Repository.LocalPath)/install/include -L$(Build.Repository.LocalPath)/install/lib -o $(Build.Repository.LocalPath)/install/examples/hworld ucp_hello_world.c

        displayName: Build ucx artifact
      - task: CopyFiles@2
        inputs:
          sourceFolder: '$(Build.Repository.LocalPath)'
          contents: |
            install/**
          targetFolder: '$(Build.ArtifactStagingDirectory)'
      - task: PublishBuildArtifacts@1
        inputs:
          pathToPublish: '$(Build.ArtifactStagingDirectory)'
          artifactName: ucx_bin_$(Build.BuildId)

  - job: Test_wire_compatibility
    dependsOn: Distros
    displayName: Test wire compatibility
    workspace:
      clean: all
    pool:
      name: MLNX
      demands:
      - ucx_ci_without_interference -equals yes
    strategy:
      matrix:
        ubuntu20:
          CONTAINER: ubuntu2004
    steps:
      - checkout: none
        clean: true
      - task: DownloadBuildArtifacts@0
        displayName: 'Download Build Artifacts'
        inputs:
          artifactName: ucx_bin_$(Build.BuildId)
          downloadPath: $(System.DefaultWorkingDirectory)
      - bash: chmod u+rwx $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId) -R
      - bash: |
          set -Eex
          port=$((10000 + (1000 * ${AZP_AGENT_ID})))
          ./bin/ucx_perftest -t tag_bw -p $port &
          server_pid=$!
          sleep 1;
          ./bin/ucx_perftest -t tag_bw -p $port 127.0.0.1 2>&1 | tee perf.txt
          wait $server_pid
          grep "Final:" perf.txt
        displayName: Test ucx_perftest
        workingDirectory: $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install
        env:
          LD_LIBRARY_PATH: $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/lib:$LD_LIBRARY_PATH
      - bash: |
          set -Eex
          git clone --depth 1 -b v1.11.x https://github.com/openucx/ucx.git $(System.DefaultWorkingDirectory)/ucx-1.11
          cd $(System.DefaultWorkingDirectory)/ucx-1.11
          ./autogen.sh
          ./contrib/configure-release --prefix=$(System.DefaultWorkingDirectory)/ucx-1.11/install --enable-examples
          make -s -j `nproc`
          make install -s -j `nproc`
        displayName: Build ucx-1.11 version
      - bash: |
          set -Eex
          $(System.DefaultWorkingDirectory)/ucx-1.11/install/bin/ucx_info -v
        env:
          LD_LIBRARY_PATH: $(System.DefaultWorkingDirectory)/ucx-1.11/install/lib
        displayName: Test ucx-1.11 version
      - bash: |
          set -Eex
          port=$((10000 + (1000 * ${AZP_AGENT_ID})))
          LD_LIBRARY_PATH=$UCX_V11_LIB_PATH $(System.DefaultWorkingDirectory)/ucx-1.11/examples/ucp_client_server -c tag -p $port &
          server_pid=$!
          sleep 5
          LD_LIBRARY_PATH=$UCX_PR_LIB_PATH $(System.DefaultWorkingDirectory)/ucx-1.11/examples/ucp_client_server -c tag -p $port -a 127.0.0.1
          kill -9 $server_pid
        displayName: Test wire compatibility server v1.11 client master
        env:
          UCX_V11_LIB_PATH: $(System.DefaultWorkingDirectory)/ucx-1.11/install/lib
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/lib
      - bash: |
          set -Eex
          port=$((10000 + (1000 * ${AZP_AGENT_ID})))
          LD_LIBRARY_PATH=$UCX_PR_LIB_PATH $(System.DefaultWorkingDirectory)/ucx-1.11/examples/ucp_client_server -c tag -p $port &
          server_pid=$!
          sleep 5
          LD_LIBRARY_PATH=$UCX_V11_LIB_PATH $(System.DefaultWorkingDirectory)/ucx-1.11/examples/ucp_client_server -c tag -p $port -a 127.0.0.1
          kill -9 $server_pid
        env:
          UCX_V11_LIB_PATH: $(System.DefaultWorkingDirectory)/ucx-1.11/install/lib
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/lib
        displayName: Test wire compatibility server on master client v1.11

  - job: Test_compatibility
    dependsOn: Distros
    displayName: Test UCP_HELLO_WORLD
    workspace:
      clean: all
    pool:
      name: MLNX
      demands:
      - ucx_docker -equals yes
      - ucx_amd -equals no
    strategy:
      matrix:
        centos7_ib:
          CONTAINER: centos7_ib
    steps:
      - checkout: none
        clean: true
      - task: DownloadBuildArtifacts@0
        displayName: 'Download Build Artifacts'
        inputs:
          artifactName: ucx_bin_$(Build.BuildId)
          downloadPath: $(System.DefaultWorkingDirectory)
      - bash: chmod u+rwx $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId) -R
      - bash: |
          set -Eex
          git clone --depth 1 -b v1.11.x https://github.com/openucx/ucx.git $(System.DefaultWorkingDirectory)/ucx-1.11
          cd $(System.DefaultWorkingDirectory)/ucx-1.11
          ./autogen.sh
          ./contrib/configure-release --prefix=$(System.DefaultWorkingDirectory)/ucx-1.11/install --enable-examples
          make -s -j `nproc`
          make install -s -j `nproc`
        displayName: Build ucx-1.11 version

      - bash: |
          set -Eex
          ldd $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/examples/hworld

          cmd_prefix="stdbuf -e0 -o0 timeout -s 9 120s"
          export UCX_LOG_LEVEL=info # Print version and used transports
          export UCX_TLS=^sm        # Shared memory is not backward compatible

          # Don't cross-connect RoCE devices
          export UCX_IB_ROCE_LOCAL_SUBNET=y
          export UCX_IB_ROCE_SUBNET_PREFIX_LEN=inf

          env LD_LIBRARY_PATH=$UCX_PR_LIB_PATH \
            ${cmd_prefix} \
            $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/examples/hworld &
          server_pid=$!

          sleep 5
          env LD_LIBRARY_PATH=$UCX_V11_LIB_PATH \
            ${cmd_prefix} \
            $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/examples/hworld -n localhost
        env:
          UCX_V11_LIB_PATH: $(System.DefaultWorkingDirectory)/ucx-1.11/install/lib
          UCX_PR_LIB_PATH: $(System.DefaultWorkingDirectory)/ucx_bin_$(Build.BuildId)/install/lib
        displayName: Test UCP_HELLO_WORLD wire compatibility server on master client v1.11
        timeoutInMinutes: 5