Modern computers often have a powerful graphics processing unit (GPU), either ondedicated graphic cards or integrated on the motherboard. These units can used byapplications for demanding computation. Another use of this technology is to assistthe main CPU in the system, ofﬂoading some of its work. Ofﬂoading can give increasedperformance, as well as decreased load on the main CPU. Decreasing the load freesresources for other applications.
Keeping documents, images and other potentially sensitive ﬁles private is importantfor many users. One way to do this is to use an encrypted ﬁle system, which can pre-vent others from gaining unauthorized access. However, such a ﬁle system occupiesresources in the computer system. In this thesis, we evaluate how GPUs can be used forassisting the computationally expensive encryption part of an encrypted ﬁle system.
Programming GPUs, is challenging because of the GPUs massively parallel nature andtheir many memory types. We will look into different architectures, focusing mainlyon NVIDIAs architecture and programming framework in our work on evaluating theeffects of using graphic processing units for ofﬂoading an encrypted ﬁle system. Inthis thesis, we see that ofﬂoading parts of this ﬁle system is beneﬁcial, giving betterperformance and reduced CPU load.