The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Compute, reference main (eda830), with Swift 6.1 for macOS (SPM) on 1 Apr 2026 04:38:51 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats

Build Log

========================================
RunAll
========================================
Builder version: 4.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/schwa/Compute.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/schwa/Compute
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at eda8309 Update GitHub Actions to Node.js 24 compatible versions
Cloned https://github.com/schwa/Compute.git
Revision (git rev-parse @):
eda83091348c3cbaf735e59218ea1da36233a2eb
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/schwa/Compute.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/schwa/Compute.git
https://github.com/schwa/Compute.git
{
  "dependencies" : [
    {
      "identity" : "metalcompilerplugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/schwa/MetalCompilerPlugin"
    }
  ],
  "manifest_display_name" : "Compute",
  "name" : "Compute",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "18.0"
    }
  ],
  "products" : [
    {
      "name" : "Compute",
      "targets" : [
        "Compute"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Examples",
      "targets" : [
        "Examples"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MetalSupportLite",
      "module_type" : "SwiftTarget",
      "name" : "MetalSupportLite",
      "path" : "Sources/MetalSupportLite",
      "product_memberships" : [
        "Examples"
      ],
      "sources" : [
        "BaseSupport.swift",
        "MTLBuffer+Extensions.swift",
        "MetalBasicExtensions.swift",
        "MetalSupportLite.swift",
        "TypedMTLBuffer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Examples",
      "module_type" : "SwiftTarget",
      "name" : "Examples",
      "path" : "Sources/Examples",
      "product_dependencies" : [
        "MetalCompilerPlugin"
      ],
      "product_memberships" : [
        "Examples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Bundle.txt",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Resources/Media.xcassets",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Examples.swift",
        "Examples/BareMetal.swift",
        "Examples/BitonicSort/BitonicSort.swift",
        "Examples/BufferFill.swift",
        "Examples/Checkerboard.swift",
        "Examples/CounterDemo.swift",
        "Examples/GameOfLife/GameOfLife.swift",
        "Examples/HelloWorldDemo.swift",
        "Examples/Histogram.swift",
        "Examples/ImageInvert.swift",
        "Examples/IsSorted.swift",
        "Examples/MaxParallel.swift",
        "Examples/MaxValue.swift",
        "Examples/MemcopyDemo.swift",
        "Examples/PrefixSum/PrefixSum.swift",
        "Examples/PrefixSum/PrefixSumKernel.swift",
        "Examples/RandomFill.swift",
        "Examples/SIMDReduce.swift",
        "Examples/ThreadgroupLog.swift",
        "Support.swift"
      ],
      "target_dependencies" : [
        "Compute",
        "MetalSupportLite"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ComputeTests",
      "module_type" : "SwiftTarget",
      "name" : "ComputeTests",
      "path" : "Tests/ComputeTests",
      "sources" : [
        "ComputeTests.swift"
      ],
      "target_dependencies" : [
        "Compute"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Compute",
      "module_type" : "SwiftTarget",
      "name" : "Compute",
      "path" : "Sources/Compute",
      "product_memberships" : [
        "Compute",
        "Examples"
      ],
      "sources" : [
        "Compute+Arguments.swift",
        "Compute+Pipeline.swift",
        "Compute+Task.swift",
        "Compute.swift",
        "ShaderFunction.swift",
        "Support.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
[1/1] Compiling plugin MetalCompilerPlugin
Building for debugging...
[1/13] Write sources
[2/13] Copying Bundle.txt
[2/13] Write sources
[2/13] Write Examples-entitlement.plist
[6/13] Copying Media.xcassets
[7/13] Write swift-version-2F0A5646E1D333AE.txt
[8/26] metal
[9/26] Copying debug.metallib
[11/26] Compiling MetalSupportLite TypedMTLBuffer.swift
[12/26] Compiling MetalSupportLite MetalSupportLite.swift
[13/26] Emitting module MetalSupportLite
[14/26] Compiling MetalSupportLite MetalBasicExtensions.swift
[15/26] Compiling MetalSupportLite BaseSupport.swift
[16/26] Compiling MetalSupportLite MTLBuffer+Extensions.swift
[17/26] Compiling Compute ShaderFunction.swift
[18/26] Compiling Compute Compute+Pipeline.swift
[19/26] Compiling Compute Compute.swift
[20/26] Compiling Compute Support.swift
[21/26] Compiling Compute Compute+Task.swift
[22/26] Compiling Compute Compute+Arguments.swift
[23/26] Emitting module Compute
[24/46] Emitting module Examples
[25/48] Compiling Examples HelloWorldDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/HelloWorldDemo.swift:24:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
22 |         let library = ShaderLibrary.source(source, enableLogging: true)
23 |         let helloWorld = try compute.makePipeline(function: library.hello_world)
24 |         try compute.run(pipeline: helloWorld, width: 1)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
25 |     }
26 | }
[26/48] Compiling Examples Histogram.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/HelloWorldDemo.swift:24:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
22 |         let library = ShaderLibrary.source(source, enableLogging: true)
23 |         let helloWorld = try compute.makePipeline(function: library.hello_world)
24 |         try compute.run(pipeline: helloWorld, width: 1)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
25 |     }
26 | }
[27/48] Compiling Examples MaxParallel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxParallel.swift:39:29: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             let count = Int(pow(2, Double(n+1))) - 1
38 |             let time = try timed() {
39 |                 try compute.run(pipeline: pipeline, width: count)
   |                             `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |             }
41 |             print("\(count),\t\(Array<UInt32>(maximum)[0]),\t\(Double(time) / Double(1_000_000))")
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:41:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 39 |         maxValue.arguments.output = .buffer(output)
 40 |         try timeit(#function) {
 41 |             try compute.run(pipeline: maxValue, width: 1)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 42 |         }
 43 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:74:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 72 |         maxValue.arguments.output = .buffer(output)
 73 |         try timeit(#function) {
 74 |             try compute.run(pipeline: maxValue, width: values.count)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 75 |         }
 76 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
[28/48] Compiling Examples MaxValue.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxParallel.swift:39:29: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             let count = Int(pow(2, Double(n+1))) - 1
38 |             let time = try timed() {
39 |                 try compute.run(pipeline: pipeline, width: count)
   |                             `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |             }
41 |             print("\(count),\t\(Array<UInt32>(maximum)[0]),\t\(Double(time) / Double(1_000_000))")
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:41:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 39 |         maxValue.arguments.output = .buffer(output)
 40 |         try timeit(#function) {
 41 |             try compute.run(pipeline: maxValue, width: 1)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 42 |         }
 43 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:74:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 72 |         maxValue.arguments.output = .buffer(output)
 73 |         try timeit(#function) {
 74 |             try compute.run(pipeline: maxValue, width: values.count)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 75 |         }
 76 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
[29/48] Compiling Examples PrefixSumKernel.swift
[30/48] Compiling Examples RandomFill.swift
[31/48] Compiling Examples BufferFill.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BufferFill.swift:36:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
34 |         var values = Array<UInt32>(repeating: 0, count: count)
35 |         while n > 0 {
36 |             try compute.run(pipeline: bufferFill, width: n)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             values[0..<n] = Array(repeating: UInt32(n), count: n)[0..<n]
38 |             n >>= 1
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/Checkerboard.swift:65:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
63 |         checkerboard.arguments.color2 = try .color(.mint)
64 |         checkerboard.arguments.cellSize = .vector(SIMD2<UInt32>(64, 64))
65 |         try compute.run(pipeline: checkerboard, width: outputTexture.width, height: outputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
66 |
67 |         let url = URL(filePath: "/tmp/checkerboard.png")
[32/48] Compiling Examples Checkerboard.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BufferFill.swift:36:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
34 |         var values = Array<UInt32>(repeating: 0, count: count)
35 |         while n > 0 {
36 |             try compute.run(pipeline: bufferFill, width: n)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             values[0..<n] = Array(repeating: UInt32(n), count: n)[0..<n]
38 |             n >>= 1
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/Checkerboard.swift:65:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
63 |         checkerboard.arguments.color2 = try .color(.mint)
64 |         checkerboard.arguments.cellSize = .vector(SIMD2<UInt32>(64, 64))
65 |         try compute.run(pipeline: checkerboard, width: outputTexture.width, height: outputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
66 |
67 |         let url = URL(filePath: "/tmp/checkerboard.png")
[33/48] Compiling Examples Examples.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 |         // Execute compute pipeline
93 |         try compute.run(pipeline: fill, width: buffer.length)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 |     }
95 | }
[34/48] Compiling Examples BareMetal.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 |         // Execute compute pipeline
93 |         try compute.run(pipeline: fill, width: buffer.length)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 |     }
95 | }
[35/48] Compiling Examples BitonicSort.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 |         // Execute compute pipeline
93 |         try compute.run(pipeline: fill, width: buffer.length)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 |     }
95 | }
[36/48] Compiling Examples SIMDReduce.swift
[37/48] Compiling Examples ThreadgroupLog.swift
[38/48] Compiling Examples ImageInvert.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/ImageInvert.swift:47:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
45 |         invertImage.arguments.inputTexture = .texture(inputTexture)
46 |         invertImage.arguments.outputTexture = .texture(outputTexture)
47 |         try compute.run(pipeline: invertImage, width: inputTexture.width, height: inputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
48 |
49 |         try outputTexture.export(to: URL(filePath: "/tmp/inverted.png"))
[39/48] Compiling Examples IsSorted.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/ImageInvert.swift:47:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
45 |         invertImage.arguments.inputTexture = .texture(inputTexture)
46 |         invertImage.arguments.outputTexture = .texture(outputTexture)
47 |         try compute.run(pipeline: invertImage, width: inputTexture.width, height: inputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
48 |
49 |         try outputTexture.export(to: URL(filePath: "/tmp/inverted.png"))
[40/48] Compiling Examples MemcopyDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:66:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
64 |         // Run and time the empty kernel (baseline)
65 |         try timeit(length: length) {
66 |             try compute.run(pipeline: empty, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
67 |         }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:72:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
70 |         // Run and time the fill kernel
71 |         try timeit(length: length) {
72 |             try compute.run(pipeline: fill, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
73 |         }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:78:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
76 |         // Run and time the GPU memcpy kernel
77 |         try timeit(length: length) {
78 |             try compute.run(pipeline: memcopy, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
79 |         }
80 |
[41/48] Compiling Examples PrefixSum.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:66:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
64 |         // Run and time the empty kernel (baseline)
65 |         try timeit(length: length) {
66 |             try compute.run(pipeline: empty, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
67 |         }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:72:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
70 |         // Run and time the fill kernel
71 |         try timeit(length: length) {
72 |             try compute.run(pipeline: fill, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
73 |         }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:78:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
76 |         // Run and time the GPU memcpy kernel
77 |         try timeit(length: length) {
78 |             try compute.run(pipeline: memcopy, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
79 |         }
80 |
[42/48] Compiling Examples CounterDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/CounterDemo.swift:39:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |         pipeline.arguments.step = .int(1)
38 |         try timeit {
39 |             try compute.run(pipeline: pipeline, width: numberOfCounters)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |         }
41 | //        print(Array<Float>(counters))
[43/48] Compiling Examples GameOfLife.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/CounterDemo.swift:39:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |         pipeline.arguments.step = .int(1)
38 |         try timeit {
39 |             try compute.run(pipeline: pipeline, width: numberOfCounters)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |         }
41 | //        print(Array<Float>(counters))
[44/48] Compiling Examples Support.swift
[45/48] Compiling Examples resource_bundle_accessor.swift
[45/48] Write Objects.LinkFileList
[46/48] Linking Examples
[47/48] Applying Examples
Build complete! (17.77s)
Fetching https://github.com/schwa/MetalCompilerPlugin
[1/326] Fetching metalcompilerplugin
Fetched https://github.com/schwa/MetalCompilerPlugin from cache (0.82s)
Computing version for https://github.com/schwa/MetalCompilerPlugin
Computed https://github.com/schwa/MetalCompilerPlugin at 0.1.6 (3.90s)
Creating working copy for https://github.com/schwa/MetalCompilerPlugin
Working copy of https://github.com/schwa/MetalCompilerPlugin resolved at 0.1.6
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/PrefixSum/Original/prefix_sum.js
    /Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/PrefixSum/Original/parprefix.pdf
    /Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/PrefixSum/Original/PrefixSumKernel.js
Build complete.
{
  "dependencies" : [
    {
      "identity" : "metalcompilerplugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/schwa/MetalCompilerPlugin"
    }
  ],
  "manifest_display_name" : "Compute",
  "name" : "Compute",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "18.0"
    }
  ],
  "products" : [
    {
      "name" : "Compute",
      "targets" : [
        "Compute"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Examples",
      "targets" : [
        "Examples"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MetalSupportLite",
      "module_type" : "SwiftTarget",
      "name" : "MetalSupportLite",
      "path" : "Sources/MetalSupportLite",
      "product_memberships" : [
        "Examples"
      ],
      "sources" : [
        "BaseSupport.swift",
        "MTLBuffer+Extensions.swift",
        "MetalBasicExtensions.swift",
        "MetalSupportLite.swift",
        "TypedMTLBuffer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Examples",
      "module_type" : "SwiftTarget",
      "name" : "Examples",
      "path" : "Sources/Examples",
      "product_dependencies" : [
        "MetalCompilerPlugin"
      ],
      "product_memberships" : [
        "Examples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Bundle.txt",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Resources/Media.xcassets",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Examples.swift",
        "Examples/BareMetal.swift",
        "Examples/BitonicSort/BitonicSort.swift",
        "Examples/BufferFill.swift",
        "Examples/Checkerboard.swift",
        "Examples/CounterDemo.swift",
        "Examples/GameOfLife/GameOfLife.swift",
        "Examples/HelloWorldDemo.swift",
        "Examples/Histogram.swift",
        "Examples/ImageInvert.swift",
        "Examples/IsSorted.swift",
        "Examples/MaxParallel.swift",
        "Examples/MaxValue.swift",
        "Examples/MemcopyDemo.swift",
        "Examples/PrefixSum/PrefixSum.swift",
        "Examples/PrefixSum/PrefixSumKernel.swift",
        "Examples/RandomFill.swift",
        "Examples/SIMDReduce.swift",
        "Examples/ThreadgroupLog.swift",
        "Support.swift"
      ],
      "target_dependencies" : [
        "Compute",
        "MetalSupportLite"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ComputeTests",
      "module_type" : "SwiftTarget",
      "name" : "ComputeTests",
      "path" : "Tests/ComputeTests",
      "sources" : [
        "ComputeTests.swift"
      ],
      "target_dependencies" : [
        "Compute"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Compute",
      "module_type" : "SwiftTarget",
      "name" : "Compute",
      "path" : "Sources/Compute",
      "product_memberships" : [
        "Compute",
        "Examples"
      ],
      "sources" : [
        "Compute+Arguments.swift",
        "Compute+Pipeline.swift",
        "Compute+Task.swift",
        "Compute.swift",
        "ShaderFunction.swift",
        "Support.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.