{"id":15401248,"url":"https://github.com/tmcdonell/cuda","last_synced_at":"2025-04-06T09:07:14.370Z","repository":{"id":48920236,"uuid":"1622285","full_name":"tmcdonell/cuda","owner":"tmcdonell","description":"Haskell FFI bindings to CUDA","archived":false,"fork":false,"pushed_at":"2023-11-20T13:34:36.000Z","size":1977,"stargazers_count":75,"open_issues_count":10,"forks_count":37,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-30T08:08:26.370Z","etag":null,"topics":["cuda","ffi-bindings","haskell"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","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/tmcdonell.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2011-04-16T07:31:39.000Z","updated_at":"2025-01-21T11:14:41.000Z","dependencies_parsed_at":"2024-01-05T06:48:10.390Z","dependency_job_id":null,"html_url":"https://github.com/tmcdonell/cuda","commit_stats":{"total_commits":801,"total_committers":16,"mean_commits":50.0625,"dds":0.03995006242197252,"last_synced_commit":"0786f269067096838932a1312e33d4be9f2f675d"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmcdonell%2Fcuda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmcdonell%2Fcuda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmcdonell%2Fcuda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmcdonell%2Fcuda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmcdonell","download_url":"https://codeload.github.com/tmcdonell/cuda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457800,"owners_count":20941906,"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","ffi-bindings","haskell"],"created_at":"2024-10-01T15:57:01.176Z","updated_at":"2025-04-06T09:07:14.354Z","avatar_url":"https://github.com/tmcdonell.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Haskell FFI Bindings to CUDA\n============================\n\n[![CI-Linux](https://github.com/tmcdonell/cuda/actions/workflows/ci-linux.yml/badge.svg)](https://github.com/tmcdonell/cuda/actions/workflows/ci-linux.yml)\n[![CI-Windows](https://github.com/tmcdonell/cuda/actions/workflows/ci-windows.yml/badge.svg)](https://github.com/tmcdonell/cuda/actions/workflows/ci-windows.yml)\n[![Stackage LTS](https://stackage.org/package/cuda/badge/lts)](https://stackage.org/lts/package/cuda)\n[![Stackage Nightly](https://stackage.org/package/cuda/badge/nightly)](https://stackage.org/nightly/package/cuda)\n[![Hackage](https://img.shields.io/hackage/v/cuda.svg)](https://hackage.haskell.org/package/cuda)\n\nThe CUDA library provides a direct, general purpose C-like SPMD programming\nmodel for NVIDIA graphics cards (G8x series onwards). This is a collection of\nbindings to allow you to call and control, although not write, such functions\nfrom Haskell-land. You will need to install the CUDA driver and developer\ntoolkit.\n\n  \u003chttp://developer.nvidia.com/object/cuda.html\u003e\n\nThe configure step will look for your CUDA installation in the standard places,\nand if the `nvcc` compiler is found in your `PATH`, relative to that.\n\nFor important information on installing on Windows, see:\n\n  \u003chttps://github.com/tmcdonell/cuda/blob/master/WINDOWS.md\u003e\n\n\n## Missing functionality\n\nAn incomplete list of missing bindings. Pull requests welcome!\n\n### CUDA-9\n\n- cuLaunchCooperativeKernelMultiDevice\n\n### CUDA-10.0\n\n- cuDeviceGetLuid (windows only?)\n- cuLaunchHostFunc\n- cuGraphHostNode[Get/Set]Params\n- cuGraphKernelNode[Get/Set]Params\n- cuGraphMemcpyNode[Get/Set]Params\n- cuGraphMemsetNode[Get/Set]Params\n\n### CUDA-10.2\n\n- cuDeviceGetNvSciSyncAttributes\n- cuMemAddressFree\n- cuMemAddressReserve\n- cuMemCreate\n- cuMemExportToShareableHandle\n- cuMemGetAccess\n- cuMemGetAllocationGranularity\n- cuMemGetAllocationPrepertiesFromHandle\n- cuMemImportFromShareableHandle\n- cuMemMap\n- cuMemRelease\n- cuMemSetAccess\n- cuMemUnmap\n- cuGraphExecHostNodeSetParams\n- cuGraphExecMemcpyNodeSetParams\n- cuGraphExecMemsetNodeSetParams\n- cuGraphExecUpdate\n\n### CUDA-11.0\n\n- cuCtxResetPersistentingL2Cache\n- cuMemRetainAllocationHandle\n- cuStreamCopyAttributes\n- cuStreamGetAttribute\n- cuStreamSetAttribute\n- cuGraphKernelNodeCopyAttributes\n- cuGraphKernelNodeGetAttribute\n- cuGraphKernelNodeSetAttribute\n- cuOccupancyAvailableDynamicSMemPerBlock\n\n### CUDA-11.1\n\n- cuDeviceGetTexture1DLinearMaxWidth\n- cuArrayGetSparseProperties\n- cuMipmappedArrayGetSparseProperties\n- cuMemMapArrayAsync\n- cuEventRecordWithFlags\n- cuGraphAddEventRecordNode\n- cuGraphAddEventWaitNode\n- cuGraphEventRecordNodeGetEvent\n- cuGraphEventRecordNodeSetEvent\n- cuGraphEventWaitNodeGetEvent\n- cuGraphEventWaitNodeSetEvent\n- cuGraphExecChildGraphNodeSetParams\n- cuGraphExecEventRecordNodeSetEvent\n- cuGraphExecEventWaitNodeSetEvent\n- cuGraphUpload\n\n### CUDA-11.2\n\n- cuDeviceGetDefaultMemPool\n- cuDeviceGetMemPool\n- cuDeviceSetMemPool\n- cuArrayGetPlane\n- cuMemAllocAsync\n- cuMemAllocFromPoolAsync\n- cuMemFreeAsync\n- cuMemPoolCreate\n- cuMemPoolDestroy\n- cuMemPoolExportPointer\n- cuMemPoolExportToShareableHandle\n- cuMemPoolGetAccess\n- cuMemPoolGetAttribute\n- cuMemPoolImportFromShareableHandle\n- cuMemPoolImportPointer\n- cuMemPoolSetAccess\n- cuMemPoolSetAttribute\n- cuMemPoolTrimTo\n- cuGraphAddExternalSemaphoresSignalNode\n- cuGraphAddExternalSemaphoresWaitNode\n- cuGraphExecExternalSemaphoresSignalNodeSetParams\n- cuGraphExecExternalSemaphoresWaitNodeSetParams\n- cuGraphExternalSemaphoresSignalNodeGetParams\n- cuGraphExternalSemaphoresSignalNodeSetParams\n- cuGraphExternalSemaphoresWaitNodeGetParams\n- cuGraphExternalSemaphoresWaitNodeSetParams\n\n### CUDA-11.3\n\n- cuStreamGetCaptureInfo_v2\n- cuFuncGetModule\n- cuGraphDebugDotPrint\n- cuGraphReleaseUserObject\n- cuGraphRetainUserObject\n- cuUserObjectCreate\n- cuUserObjectRelease\n- cuUserObjectRetain\n- cuGetProcAddress\n\n### CUDA-11.4\n\n- cuDeviceGetUuid_v2\n- cuCtxCreate_v3\n- cuCtxGetExecAffinity\n- cuDeviceGetGraphMemAttribute\n- cuDeviceGraphMemTrim\n- cuDeviceSetGraphMemAttribute\n- cuGraphAddMemAllocNode\n- cuGraphAddMemFreeNode\n- cuGraphInstantiateWithFlags\n- cuGraphMemAllocNodeGetParams\n- cuGraphMemFreeNodeGetParams\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmcdonell%2Fcuda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmcdonell%2Fcuda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmcdonell%2Fcuda/lists"}