All Projects → pakmarkthub → dragon

pakmarkthub / dragon

Licence: MIT license
A host-based framework that transparently extends the GPU addressable global memory space beyond the host memory using NVM-backed data pointers

Programming Languages

c
50402 projects - #5 most used programming language
Cuda
1817 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to dragon

Ssd Gpu Dma
Build userspace NVMe drivers and storage applications with CUDA support
Stars: ✭ 172 (+251.02%)
Mutual labels:  driver, nvm
zsh-lazyenv
Environments for lazy load commands and speed up start up time of zsh
Stars: ✭ 16 (-67.35%)
Mutual labels:  nvm
rtw88-usb
rtw88 family usb driver for linux rtl8723du rtl8822bu rtl8821cu rtl8822cu
Stars: ✭ 40 (-18.37%)
Mutual labels:  driver
vmwmouse
VMware mouse driver for Windows 3.1
Stars: ✭ 315 (+542.86%)
Mutual labels:  driver
GoogleDriveBrowser
Goole Drive Download Library for iOS
Stars: ✭ 13 (-73.47%)
Mutual labels:  driver
FakeGPS
[NOT MAINTAINED] FakeGPS driver for Windows
Stars: ✭ 85 (+73.47%)
Mutual labels:  driver
sqlite3
The fastest and correct module for SQLite3 in Deno.
Stars: ✭ 143 (+191.84%)
Mutual labels:  driver
mongosh
The MongoDB Shell
Stars: ✭ 215 (+338.78%)
Mutual labels:  driver
logisim-7-segment-display-driver
➿ TTL-7447-like implementation for logisim
Stars: ✭ 28 (-42.86%)
Mutual labels:  driver
thpimon
Native ESXi on Arm hardware status driver for the Raspberry Pi.
Stars: ✭ 32 (-34.69%)
Mutual labels:  driver
kmtest
Kernel-mode C++ unit testing framework in BDD-style
Stars: ✭ 42 (-14.29%)
Mutual labels:  driver
golang-migrate-extra
golang-migrate extra drivers for io/fs
Stars: ✭ 13 (-73.47%)
Mutual labels:  driver
mongodb-jdbc-driver
MongoDB JDBC Driver | DbSchema MongoDB Designer
Stars: ✭ 47 (-4.08%)
Mutual labels:  driver
-LibraryOS-Exokernel Implementation
Exokernel is one of the major sources for container and library OS techniques.
Stars: ✭ 41 (-16.33%)
Mutual labels:  driver
faunadb-ruby
Ruby driver for FaunaDB
Stars: ✭ 37 (-24.49%)
Mutual labels:  driver
gspca-kinect2
Kinect2 Sensor Device Driver for Linux
Stars: ✭ 25 (-48.98%)
Mutual labels:  driver
HadesVR
The "DIY" SteamVR compatible VR setup made for tinkerers.
Stars: ✭ 88 (+79.59%)
Mutual labels:  driver
hid-fanatecff
Driver to support ForceFeedback of the FANATEC CSL Elite Wheel Base
Stars: ✭ 81 (+65.31%)
Mutual labels:  driver
grabbitmq
A high-level RabbitMQ driver for Golang.
Stars: ✭ 16 (-67.35%)
Mutual labels:  driver
dev twitter
A module to make the /dev/twitter
Stars: ✭ 72 (+46.94%)
Mutual labels:  driver

DRAGON: Direct Resource Access for GPUs Over NVM

DRAGON is a host-based framework that transparently extends the GPU addressable global memory space beyond the host memory using NVM-backed data pointers. DRAGON allows storing the binary memory dump of application data in a file on NVM and mapping it to the global memory space of the GPU. This enables GPU kernels to access the data via regular load/store instructions, similar to how mmap() operates in CPUs.

Contact Us

To people who reach this page from our paper:

My university email address, which is written on the paper, will be expired soon. You can contact me via "pak.markthub+dragon at gmail dot com", or by opening an issue on GitHub.

Pak Markthub

Getting Started

This project composes of multiple components. To install DRAGON, follow the instructions in the INSTALL.md file. To compile or run provided example applications, see the README.md file in the examples folder.

Experimental Features

Move to private repo for now.

All features are tracked in branch dev.

  1. DRAGON-DIRECT

    • Use DMA to transfer data from NVMe to GPU.
    • No host page caching in between.
  2. DRAGON-Resident

    • Query the current physical location on the mapped buffers at runtime.
    • Pin pages in GPU memory. Disable eviction of those pinned pages.

Versioning

For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

This project was partially supported by JST CREST Grant Numbers JPMJCR1303 (EBD CREST) and JPMJCR1687 (DEEP CREST), and performed under the auspices of Real-World Big-Data Computation Open Innovation Laboratory (RWBC-OIL), Japan. This project was also supported in part by Oak Ridge National Laboratory ASTRO Program sponsored by the US Department of Energy and administered by the Oak Ridge Institute for Science and Education, USA.

This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, under contract number DE-AC05-00OR22725. This manuscript has been authored by UT-Battelle, LLC, under contract DE-AC05-00OR22725 with the US Department of Energy (DOE). The US government retains and the publisher, by accepting the article for publication, acknowledges that the US government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this manuscript, or allow others to do so, for US government purposes. DOE will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan).

Notes

  • nvmgpu is the former name of this project. We use nvmgpu and dragon interchangeably throughout the source code.

  • If you want to reproduce the results we reported in our SC18 paper DRAGON: Breaking GPU Memory Capacity Limits with Direct NVM Access, look at the README.md file in the examples folder for the up-to-dated instructions.

  • If you use this work, please cite our paper.

    • Pak Markthub, Mehmet E. Belviranli, Seyong Lee, Jeffrey S. Vetter, and Satoshi Matsuoka. DRAGON: Breaking GPU Memory Capacity Limits with Direct NVM Access. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC18). ACM, Dallas, USA, November 2018.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].