The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Compute, reference 0.0.5 (815766), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 14:48:22 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.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/schwa/Compute.git
Reference: 0.0.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/schwa/Compute
 * tag               0.0.5      -> FETCH_HEAD
HEAD is now at 815766d Fix broken tests.
Cloned https://github.com/schwa/Compute.git
Revision (git rev-parse @):
815766d68a04442e37c37ad4b0ab556767ae2178
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/schwa/Compute.git at 0.0.5
========================================
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" : {
        "branch" : [
          "jwight/develop"
        ]
      },
      "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/Broken/CountingSort/CountingSort.swift",
        "Examples/Broken/RadixSort/RadixSort.swift",
        "Examples/Broken/RadixSort/RadixSortCPU.swift",
        "Examples/BufferFill.swift",
        "Examples/Checkerboard.swift",
        "Examples/GameOfLife/GameOfLife.swift",
        "Examples/HelloWorldDemo.swift",
        "Examples/Histogram.swift",
        "Examples/ImageInvert.swift",
        "Examples/MaxValue.swift",
        "Examples/MemcopyDemo.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
[0/8] Write sources
[3/8] Write MetalCompilerTool-tool-entitlement.plist
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/10] Compiling ArgumentParserToolInfo ToolInfo.swift
[7/10] Emitting module ArgumentParserToolInfo
[8/49] Emitting module ArgumentParser
[9/53] Compiling ArgumentParser CommandConfiguration.swift
[10/53] Compiling ArgumentParser CommandGroup.swift
[11/53] Compiling ArgumentParser EnumerableFlag.swift
[12/53] Compiling ArgumentParser ExpressibleByArgument.swift
[13/53] Compiling ArgumentParser BashCompletionsGenerator.swift
[14/53] Compiling ArgumentParser CompletionsGenerator.swift
[15/53] Compiling ArgumentParser FishCompletionsGenerator.swift
[16/53] Compiling ArgumentParser ZshCompletionsGenerator.swift
[17/53] Compiling ArgumentParser Argument.swift
[18/53] Compiling ArgumentParser InputOrigin.swift
[19/53] Compiling ArgumentParser Name.swift
[20/53] Compiling ArgumentParser Parsed.swift
[21/53] Compiling ArgumentParser ParsedValues.swift
[22/53] Compiling ArgumentParser ArgumentHelp.swift
[23/53] Compiling ArgumentParser ArgumentVisibility.swift
[24/53] Compiling ArgumentParser CompletionKind.swift
[25/53] Compiling ArgumentParser Errors.swift
[26/53] Compiling ArgumentParser Flag.swift
[27/53] Compiling ArgumentParser ParsableArguments.swift
[28/53] Compiling ArgumentParser ParsableArgumentsValidation.swift
[29/53] Compiling ArgumentParser ParsableCommand.swift
[30/53] Compiling ArgumentParser ArgumentDecoder.swift
[31/53] Compiling ArgumentParser Platform.swift
[32/53] Compiling ArgumentParser SequenceExtensions.swift
[33/53] Compiling ArgumentParser StringExtensions.swift
[34/53] Compiling ArgumentParser Tree.swift
[35/53] Compiling ArgumentParser ArgumentDefinition.swift
[36/53] Compiling ArgumentParser ArgumentSet.swift
[37/53] Compiling ArgumentParser CommandParser.swift
[38/53] Compiling ArgumentParser InputKey.swift
[39/53] Compiling ArgumentParser NameSpecification.swift
[40/53] Compiling ArgumentParser Option.swift
[41/53] Compiling ArgumentParser OptionGroup.swift
[42/53] Compiling ArgumentParser AsyncParsableCommand.swift
[43/53] Compiling ArgumentParser ParserError.swift
[44/53] Compiling ArgumentParser SplitArguments.swift
[45/53] Compiling ArgumentParser DumpHelpGenerator.swift
[46/53] Compiling ArgumentParser HelpCommand.swift
[47/53] Compiling ArgumentParser HelpGenerator.swift
[48/53] Compiling ArgumentParser MessageInfo.swift
[49/53] Compiling ArgumentParser UsageGenerator.swift
[50/53] Compiling ArgumentParser CollectionExtensions.swift
[51/55] Emitting module MetalCompilerTool
[52/55] Compiling MetalCompilerTool MetalCompiler.swift
[52/55] Write Objects.LinkFileList
[53/55] Linking MetalCompilerTool-tool
[54/55] Applying MetalCompilerTool-tool
[1/1] Compiling plugin MetalCompilerPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/19] Write sources
[5/19] Write Examples-entitlement.plist
[7/19] Write sources
[8/19] Copying Bundle.txt
[9/19] Write sources
[10/19] Copying Media.xcassets
[11/19] Write swift-version-2F0A5646E1D333AE.txt
[12/32] Write Objects.LinkFileList
[13/32] Linking MetalCompilerTool-tool
[14/32] MetalCompilerTool
[15/32] Copying debug.metallib
[17/32] Emitting module MetalSupportLite
[18/32] Compiling MetalSupportLite MetalSupportLite.swift
[19/32] Compiling MetalSupportLite MetalBasicExtensions.swift
[20/32] Compiling MetalSupportLite BaseSupport.swift
[21/32] Compiling MetalSupportLite MTLBuffer+Extensions.swift
[22/32] Compiling MetalSupportLite TypedMTLBuffer.swift
[23/32] Compiling Compute Support.swift
[24/32] Compiling Compute ShaderFunction.swift
[25/32] Compiling Compute Compute.swift
[26/32] Compiling Compute Compute+Pipeline.swift
[27/32] Compiling Compute Compute+Task.swift
[28/32] Compiling Compute Compute+Arguments.swift
[29/32] Emitting module Compute
[30/51] Compiling Examples MaxValue.swift
/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]
/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 |
[31/51] Compiling Examples MemcopyDemo.swift
/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]
/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 |
[32/51] Compiling Examples RandomFill.swift
[33/51] Compiling Examples SIMDReduce.swift
[34/51] Compiling Examples Histogram.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"))
[35/51] 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"))
[36/52] Compiling Examples resource_bundle_accessor.swift
[37/52] Compiling Examples GameOfLife.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 | }
[38/52] 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 | }
[39/52] 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")
[40/52] 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")
[41/52] Compiling Examples BitonicSort.swift
[42/52] Compiling Examples CountingSort.swift
[43/52] 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 | }
[44/52] 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 | }
[45/52] Compiling Examples ThreadgroupLog.swift
[46/52] Compiling Examples Support.swift
[47/52] Compiling Examples RadixSort.swift
[48/52] Compiling Examples RadixSortCPU.swift
[49/52] Emitting module Examples
[49/52] Write Objects.LinkFileList
[50/52] Linking Examples
[51/52] Applying Examples
Build complete! (23.93s)
Fetching https://github.com/schwa/MetalCompilerPlugin
[1/185] Fetching metalcompilerplugin
Fetched https://github.com/schwa/MetalCompilerPlugin from cache (0.81s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.74s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (1.25s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
Creating working copy for https://github.com/schwa/MetalCompilerPlugin
Working copy of https://github.com/schwa/MetalCompilerPlugin resolved at jwight/develop (72b94d2)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "metalcompilerplugin",
      "requirement" : {
        "branch" : [
          "jwight/develop"
        ]
      },
      "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/Broken/CountingSort/CountingSort.swift",
        "Examples/Broken/RadixSort/RadixSort.swift",
        "Examples/Broken/RadixSort/RadixSortCPU.swift",
        "Examples/BufferFill.swift",
        "Examples/Checkerboard.swift",
        "Examples/GameOfLife/GameOfLife.swift",
        "Examples/HelloWorldDemo.swift",
        "Examples/Histogram.swift",
        "Examples/ImageInvert.swift",
        "Examples/MaxValue.swift",
        "Examples/MemcopyDemo.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.