{"id":17344125,"url":"https://github.com/typhoonzero/unimem","last_synced_at":"2025-03-27T09:44:31.869Z","repository":{"id":99429831,"uuid":"172024009","full_name":"typhoonzero/unimem","owner":"typhoonzero","description":"Unified memory allocators used for both CPU and GPU, for automatically alloc type switching","archived":false,"fork":false,"pushed_at":"2019-04-15T23:39:46.000Z","size":52,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T14:45:13.544Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/typhoonzero.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":"2019-02-22T08:17:44.000Z","updated_at":"2019-04-15T23:39:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"2b17a973-d7dd-4b25-89d1-e1d3c66e40d8","html_url":"https://github.com/typhoonzero/unimem","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/typhoonzero%2Funimem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typhoonzero%2Funimem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typhoonzero%2Funimem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typhoonzero%2Funimem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typhoonzero","download_url":"https://codeload.github.com/typhoonzero/unimem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245822316,"owners_count":20678165,"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":[],"created_at":"2024-10-15T16:24:03.657Z","updated_at":"2025-03-27T09:44:31.837Z","avatar_url":"https://github.com/typhoonzero.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# unimem\n\nUnified memory allocator achieving best performance on heterogous devices,\ne.g. applications that make use of general `malloc` and GPU `cudaMalloc`.\n\nFor devices have their own memory to manage, we apply a general method\nusing one allocating backend  \"unimalloc\" which is derived from\n[dlmalloc](http://gee.cs.oswego.edu/dl/html/malloc.html). This is a well\nknown allocator that proved to be efficient and generating less fragments.\n\nNote that the \"metadata\" which stores \"bins\" and \"chunks\" are actually stored\nin CPU memory but the memory allocation no GPU device memory still have\nmemory overhead due to make implementaion simpler.\n\nFor more detailed use cases, we provide a set of \"decorators\" to form a\nhigh-level wrappers to reduce the average allocating and free time, like:\n`pool_allocator`, `stack_allocator`, etc.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyphoonzero%2Funimem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyphoonzero%2Funimem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyphoonzero%2Funimem/lists"}