{"id":15698890,"url":"https://github.com/koesie10/gpjson","last_synced_at":"2025-06-20T06:38:16.056Z","repository":{"id":144958061,"uuid":"321070619","full_name":"koesie10/gpjson","owner":"koesie10","description":"GPU-based JSON data processing system accessible via all GraalVM languages","archived":false,"fork":false,"pushed_at":"2021-07-20T11:00:04.000Z","size":1709,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-09T02:15:48.001Z","etag":null,"topics":["cuda","gpu","graalvm","json","jsonpath"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koesie10.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-13T13:24:12.000Z","updated_at":"2022-09-26T15:26:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"9699fa9b-f773-41c4-9959-66b0ab6cd3d1","html_url":"https://github.com/koesie10/gpjson","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/koesie10/gpjson","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koesie10%2Fgpjson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koesie10%2Fgpjson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koesie10%2Fgpjson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koesie10%2Fgpjson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koesie10","download_url":"https://codeload.github.com/koesie10/gpjson/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koesie10%2Fgpjson/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260897767,"owners_count":23079224,"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":["cuda","gpu","graalvm","json","jsonpath"],"created_at":"2024-10-03T19:35:42.727Z","updated_at":"2025-06-20T06:38:11.044Z","avatar_url":"https://github.com/koesie10.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GPJSON\n\nGPJSON is a GPU-based JSON data processing system which can be used to execute\nJSONPath queries on newline-delimited JSON datasets. It has support for a subset\nof JSONPath queries and can be used from any GraalVM language.\n\n## Build and installation\n\nGPJSON uses [Gradle](https://gradle.org/) as a build system. There is no need to install\nGradle, the Gradle wrapper can be used to build GPJSON.\n\nThe only requirements for running GPJSON are GraalVM and CUDA (and a supported GPU). It has been tested\non GraalVM CE 21.0.0.2 Java 8, downloadable [here](https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-21.0.0.2).\nIt has only been tested on Linux using CUDA 11.2, but should work on other OS when\n[CUDARuntime.java](https://github.com/koesie10/gpjson/blob/master/gpjson/src/main/java/com/koenv/gpjson/gpu/CUDARuntime.java)\nis adapted.\n\nTo build the project, execute:\n\n```shell\n./gradlew build\n```\n\nThis will generate two files in `gpjson/build/libs`:\n\n* `gpjson-0.1-SNAPSHOT.jar`: Contains the compiled code of GPJSON, without any dependencies. This will not run without\nincluding GPJSON's dependencies on the classpath.\n* `gpjson-0.1-SNAPSHOT-all.jar`: Contains the compiled code of GPJSON, including all dependencies. This will run\nwithout any other JAR files required on the classpath.\n  \nTo use GPJSON in GraalVM, copy the `gpjson-0.1-SNAPSHOT-all.jar` file to `$GRAALVM_HOME/jre/languages/gpjson`. This can\nalso be done automatically by setting the `graalVMDirectory` project property. For example, if you have set the `GRAALVM_HOME`\nenvironment variable, use:\n\n```shell\n./gradlew copyToGraalVM -PgraalVMDirectory=$GRAALVM_HOME\n```\n\n## Usage\n\nCreate a file `gpjson.js`:\n\n```js\nconst gpjson = Polyglot.eval('gpjson', 'jsonpath');\nconst result = gpjson.query('dataset.json', '$.user.lang');\n```\n\nThen, run:\n\n```shell\n$GRAALVM_HOME/bin/node --polyglot --jvm gpjson.js\n```\n\n## License\n\nGPJSON is licensed under the BSD 3-Clause license available [here](/LICENSE).\n\nParts of the source code are from grCUDA and are licensed under the BSD 3-Clause license available\n[here](https://github.com/NVIDIA/grcuda/blob/b1f531a844d2906080ab4c04a33e99fe6e04089c/LICENSE).\n\nGPJSON also depends on Truffle APIs licensed under the Universal Permissive\nLicense (UPL), Version 1.0 (https://opensource.org/licenses/UPL).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoesie10%2Fgpjson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoesie10%2Fgpjson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoesie10%2Fgpjson/lists"}