{"id":16690874,"url":"https://github.com/wichtounet/etl-gpu-blas","last_synced_at":"2025-04-10T00:51:19.185Z","repository":{"id":137673291,"uuid":"84043609","full_name":"wichtounet/etl-gpu-blas","owner":"wichtounet","description":"Mini BLAS-like library for GPU (complementary to CUBLAS)","archived":false,"fork":false,"pushed_at":"2023-12-02T19:58:35.000Z","size":463,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T00:51:13.897Z","etag":null,"topics":["blas","cpp","gpu","performance"],"latest_commit_sha":null,"homepage":null,"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/wichtounet.png","metadata":{"files":{"readme":"README.rst","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":"2017-03-06T07:35:22.000Z","updated_at":"2023-11-13T12:27:40.000Z","dependencies_parsed_at":"2025-02-16T06:32:12.205Z","dependency_job_id":"ba57dc3e-dcbe-4f7a-b4fc-d94dac1dc6a3","html_url":"https://github.com/wichtounet/etl-gpu-blas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wichtounet%2Fetl-gpu-blas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wichtounet%2Fetl-gpu-blas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wichtounet%2Fetl-gpu-blas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wichtounet%2Fetl-gpu-blas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wichtounet","download_url":"https://codeload.github.com/wichtounet/etl-gpu-blas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137997,"owners_count":21053775,"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":["blas","cpp","gpu","performance"],"created_at":"2024-10-12T16:05:56.869Z","updated_at":"2025-04-10T00:51:19.163Z","avatar_url":"https://github.com/wichtounet.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"etl-gpu-blas (egblas)\n#####################\n\nMini BLAS-like library for GPU (complementary to CUBLAS).\n\nThe goal of this library is principally to be used as a complement\nto CUBLAS in the ETL library. The goal is to add functions that are\nnot present in CUBLAS and make them available in the same format.\n\nDisclaimer: All the functions are mostly expecting row-major input\nAll functions with more than 2D are always row-major.\n\nFeatures\n********\n\nSo far, the library supports the following features:\n\n * Vector sum (egblas_Xsum)\n * Vector scalar addition (egblas_scalar_Xadd)\n * Vector scalar division (egblas_scalar_Xdiv)\n * Vector element-wise sqrt (egblas_Xsqrt)\n * Vector element-wise log (egblas_Xlog)\n * Vector element-wise exp (egblas_Xexp)\n * y = (alpha * x) * y (egblas_Xaxmy)\n * y = (alpha * x) / y (egblas_Xaxdy)\n\nAll functions are supporting single-precision floating points (s)\nand double precision floating points (d). When possible, the\nfunctions are also supporting single precision complex floating\npoints (c) and double precision complex floating points (z).\n\nSynchronization\n***************\n\nBy default, most of the kernels executed by this library are not\nsynchronized. In the future, no kernel will be synchronized. If you\nwant to synchronize after the function call, you can use\n`cudaDeviceSynchronize()` after the egblas function call. If you\nwant all egblas functions to be synchronized, you can define\nEGBLAS_SYNCHRONIZE::\n\n    EXTRA_CXX_FLAGS=-DEGBLAS_SYNCHRONIZE make\n\nIn that case, every egblas function will be terminated by\na `cudaDeviceSynchronize()` call. This can have a big performance\nimpact, especially if working on small collections of data, since\nthe kernel launch has a high overhead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwichtounet%2Fetl-gpu-blas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwichtounet%2Fetl-gpu-blas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwichtounet%2Fetl-gpu-blas/lists"}