Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/71743
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.date.accessioned | 2021-03-22T06:56:01Z | - |
dc.date.available | 2021-03-22T06:56:01Z | - |
dc.date.issued | 2020 | - |
dc.identifier.citation | Tabone, G. (2020). GPU implementation of arithmetic for very large integers (Bachelor's dissertation). | en_GB |
dc.identifier.uri | https://www.um.edu.mt/library/oar/handle/123456789/71743 | - |
dc.description | B.SC.(HONS)COMP.SCI. | en_GB |
dc.description.abstract | Arithmetic operations on very large integers are used in many applications such as computer algebra, computational number theory and public key cryptography. A drawback is that most computers are typically built with a word size of 32 or 64 bits, which means that a machine register can only hold integers up to a maximum value of 2^64-1 for unsigned numbers. A solution is to use multi-precision arithmetic libraries, which allows numbers of any size. However, increasing the size of the numbers, increases the amount of work required to perform arithmetic on them, thus CPUs may struggle to keep up with the complexity of these computations. Graphics Processing Units (GPUs) can be used to offload some of the work from the CPU, and have been found useful in high-performance computing due to their massively parallel architecture of hundreds to thousands of arithmetic units. In this project, a parallel version of the addition, subtraction and multiplication operations for large numbers were implemented on a GPU. The addition was implemented using the prefix parallel technique which is used on a smaller scale in the carry-lookahead adder. This technique offers greater efficiency when executed on a large number of processors. For the multiplication, a warp-synchronous approach was adopted, taking advantage of how the thread grouping is done in the GPU. For multiplications of even larger numbers, the Karatsuba algorithm was chosen. The parallel implementation was tested on an NVIDIA GeForce GTX 1050 and compared with the GNU Multiple Precision Library, which runs on a CPU. For numbers of 2^30 bits, a speed-up of 1.7 was achieved for the addition operation. Furthermore, the multiplication operation achieved up to 2.6 speed-up for 1024-bit numbers when fully utilizing the GPU. | en_GB |
dc.language.iso | en | en_GB |
dc.rights | info:eu-repo/semantics/restrictedAccess | en_GB |
dc.subject | Graphics processing units | en_GB |
dc.subject | Arithmetic | en_GB |
dc.title | GPU implementation of arithmetic for very large integers | en_GB |
dc.type | bachelorThesis | en_GB |
dc.rights.holder | The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder. | en_GB |
dc.publisher.institution | University of Malta | en_GB |
dc.publisher.department | Faculty of Information and Communication Technology. Department of Computer Science | en_GB |
dc.description.reviewed | N/A | en_GB |
dc.contributor.creator | Tabone, Gerard (2020) | - |
Appears in Collections: | Dissertations - FacICT - 2020 Dissertations - FacICTCS - 2020 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
20BCS012 - Tabone Gerard.pdf Restricted Access | 1.26 MB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.