code: def main():
      # Each process gets its own data
      data_path = Path(__file__).parent / "data" / "distributed"
      infile = data_path / f"svd_{d4p.my_procid()+ 1}.csv"
  
      # configure a SVD object
      algo = d4p.svd(distributed=True)
  
      # let's provide a file directly, not a table/array
      result1 = algo.compute(str(infile))
  
      # We can also load the data ourselfs and provide the numpy array
      data = loadtxt(infile, delimiter=",")
      result2 = algo.compute(data)
  
      # SVD result objects provide leftSingularMatrix,
      # rightSingularMatrix and singularValues
      assert result1.leftSingularMatrix.shape == data.shape
      assert result1.singularValues.shape == (1, data.shape[1])
      assert result1.rightSingularMatrix.shape == (
          data.shape[1],
          data.shape[1],
      )
  
      assert allclose(
          result1.leftSingularMatrix,
          result2.leftSingularMatrix,
          atol=1e-05,
      )
      assert allclose(
          result1.rightSingularMatrix,
          result2.rightSingularMatrix,
          atol=1e-05,
      )
      assert allclose(
          result1.singularValues, result2.singularValues, atol=1e-05
      )
  
      return data, result1
  
label_desc: Use image node_id 1 for calling a global function with example usage: main() and returns: data,  result1