{"id":19331925,"url":"https://github.com/developermindset-com/openmp-mobile","last_synced_at":"2025-04-22T23:32:41.474Z","repository":{"id":174044711,"uuid":"651694832","full_name":"DeveloperMindset-com/openmp-mobile","owner":"DeveloperMindset-com","description":"OpenMP library compiled for iOS, Mac, tvOS, watchOS","archived":false,"fork":false,"pushed_at":"2024-01-09T13:49:24.000Z","size":89393,"stargazers_count":8,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-28T21:57:37.666Z","etag":null,"topics":["abi","c","cmake","cpp","dylib","dynamic","ios","library","llvm","macos","mobile","objective-c","openmp","parallel-computing","static","swift","xcframework","xcode"],"latest_commit_sha":null,"homepage":"https://www.developermindset.com/openmp-mobile/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeveloperMindset-com.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-06-09T20:51:12.000Z","updated_at":"2024-01-31T09:59:32.000Z","dependencies_parsed_at":"2024-01-09T15:06:23.365Z","dependency_job_id":null,"html_url":"https://github.com/DeveloperMindset-com/openmp-mobile","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":"0.17647058823529416","last_synced_commit":"06ebe6ac77da8e50557bfe5a5bca5a8acc7678b1"},"previous_names":["eugenehp/openmp-mobile","developermindset-com/openmp-mobile"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeveloperMindset-com%2Fopenmp-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeveloperMindset-com%2Fopenmp-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeveloperMindset-com%2Fopenmp-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeveloperMindset-com%2Fopenmp-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeveloperMindset-com","download_url":"https://codeload.github.com/DeveloperMindset-com/openmp-mobile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223906400,"owners_count":17223046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abi","c","cmake","cpp","dylib","dynamic","ios","library","llvm","macos","mobile","objective-c","openmp","parallel-computing","static","swift","xcframework","xcode"],"created_at":"2024-11-10T02:43:02.290Z","updated_at":"2025-04-22T23:32:41.467Z","avatar_url":"https://github.com/DeveloperMindset-com.png","language":"C++","readme":"# OpenMP Mobile\n\nThis library provides means to compile and distribute OpenMP library for iOS.\n\nOpenMP is part of [LLVM](https://github.com/llvm/llvm-project) distribution.\n\n## Version\n\nLatest supported version of OpenMP is [16.0.5](https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.5/openmp-16.0.5.src.tar.xz).\n\n## Supported platforms\n\n- iOS\n- iOS Simulator\n- tvOS\n- tvOS Simulator\n- watchOS\n- watchOS Simulator\n- macOS\n\n## Requirements\n\n- Xcode (including multiple `platforms`)\n- LLVM with Clang\n- Homebrew\n- g++\n- CMake\n- node\n- python\n- perl\n- ruby (for Cocoapods)\n- carthage\n- swift\n\n## Why\n\nLibraries such as BLAS, or FAISS depend on OpenMP to run parallel execution across different platforms, this repository is a structured way to get the OpenMP source code compiled and distributed to iOS developers.\n\n## Getting started\n\nRun `./openmp.sh` and it will create `dist/openmp.xcframework` that you can use in your Xcode project.\n\n## openmp.xcframework\n\nOnce the compilation is done, you'll have XCframework created with the files below:\n\n```shell\ndist/openmp.xcframework\n├── Info.plist\n├── ios-arm64_arm64e\n│   ├── Headers\n│   │   ├── omp-tools.h\n│   │   ├── omp.h\n│   │   └── ompt.h\n│   └── libomp.a\n├── ios-arm64_arm64e_x86_64-simulator\n│   ├── Headers\n│   │   ├── omp-tools.h\n│   │   ├── omp.h\n│   │   └── ompt.h\n│   └── libomp.a\n├── macos-arm64_arm64e_x86_64\n│   ├── Headers\n│   │   ├── omp-tools.h\n│   │   ├── omp.h\n│   │   └── ompt.h\n│   └── libomp.a\n├── tvos-arm64\n│   ├── Headers\n│   │   ├── omp-tools.h\n│   │   ├── omp.h\n│   │   └── ompt.h\n│   └── libomp.a\n├── tvos-x86_64-simulator\n│   ├── Headers\n│   │   ├── omp-tools.h\n│   │   ├── omp.h\n│   │   └── ompt.h\n│   └── libomp.a\n├── watchos-arm64_32_armv7k\n│   ├── Headers\n│   │   ├── omp-tools.h\n│   │   ├── omp.h\n│   │   └── ompt.h\n│   └── libomp.a\n└── watchos-i386-simulator\n    ├── Headers\n    │   ├── omp-tools.h\n    │   ├── omp.h\n    │   └── ompt.h\n    └── libomp.a\n```\n\n## Takeaways\n\nIf you're looking to run parallel code on iOS using Objective-C or Swift, make sure to check `examples` for the details on how to integrate the library.\n\nIf you're not looking to run complex calculations (linear algebra, DSP, neural networks), then you might want to consider Apple's Grand Central Dispatch, as it is more optimized to provide a better user experience (battery management and performance).\n\n## Distribution\n\nThis package is available using following package managers.\n\n### Swift Package Manager\n\n`./Pacakage.swift` points to remote release hosted on this GitHub repository.\nUse [these](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app) instructions to add this GitHub repository.\n\n### Cocoapods\n\n`./OpenMP.podspec` includes all the specific details about the build.\n\nIn your `Podfile` you can add this library using this syntax:\n\n```ruby\npod 'OpenMP', :git =\u003e 'https://github.com/eugenehp/openmp-mobile.git', :tag =\u003e 'v16.0.5'\n```\n\n### Carthage\n\nIn `Cartfile` add following:\n\n```ruby\nbinary \"https://raw.githubusercontent.com/eugenehp/openmp-mobile/master/carthage/openmp-static-xcframework.json\" ~\u003e 16.0.5\n```\n\n## Releases\n\nRelease management works using [gh](https://cli.github.com/manual/installation).\n\n```shell\nbrew install gh tree\n```\n\nTo release a draft:\n\n```shell\n./openmp.sh release\n```\n\n## Contributing\n\nContributions are welcome, feel free to submit an issue or open a pull request.\n\n## License\n\n[MIT](./LICENSE)\n\nCopyright © 2023-2025 [Eugene Hauptmann](http://twitter.com/eugenehp)\n\n## Trademarks\n\nThe OpenMP name and the OpenMP logo are registered trademarks of the [OpenMP Architecture Review Board](https://www.openmp.org/about/trademarks/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopermindset-com%2Fopenmp-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevelopermindset-com%2Fopenmp-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopermindset-com%2Fopenmp-mobile/lists"}