UXU is a multi-level swapping for GPGPU memory, which is inspired from DRAGON. Using UXU, large-scale GPGPU applications exceeding GPGPU physical memory can be easily executed.
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.
UXU kernel driver is a kind of modified NVidia UVM(Unified Virtual Memory) in the same way by DRAGON. NVidia 440.82 kernel source is used as a codebase for our driver. Below installation procedure assumes Ubuntu 18.04.
-
Prepare linux kernel build environment Most 4.15.x would be fine. One of tested versions is 4.15.0.140
-
Build kernel modules
# cd kernel_nvidia # make -C /lib/modules/4.15.0-140-generic/build M=$PWD
After successful build, several kernel modules will be generated. Two modules
nvidia.ko
andnvidia-uvm.ko
are required to run UXU.
User-land library and examples can built with autotools.
# ./configure
# make