Propostas atribuídas ano letico 2025/2026

DEI - FCTUC
Gerado a 2025-08-31 18:11:54 (Europe/Lisbon).
Voltar

Titulo Estágio

Implementation of Support Vector Machines on the GPU

Área Tecnológica

Reconhecimento de Padrões

Local do Estágio

DEI - Departamento de Engenharia Informática

Enquadramento

Recently, the Graphics Processing Unit (GPU) emerged as a major player in the trend shifting of the computing industry from single core to multi-core architectures. Due to its inherent parallel architecture, GPUs can deliver remarkable performance gains for computationally intensive applications. As a result there is an on-growing interest, in particular in the scientific community, on using the GPU to accelerate non-graphic applications with high-computational power requirements.
In the machine learning field, the algorithms used (e.g. support vector machines, neural networks) are often computational demanding (especially when large datasets are involved). Thus, parallel implementations of machine learning algorithms become fundamental for researchers to build real-world applications. In this context, an open source Graphic Processing Unit Machine Learning Library (GPUMLib) is currently being built (using C++ and CUDA). This library aims to provide machine learning researchers and practitioners with a high performance library by taking advantage of the GPU enormous computational power.
Among the machine learning algorithms, the Support Vector Machine (SVM) algorithm is one the most widely used algorithms. This is due to its impressive generalization performance on a wide range of problems and domains. However, the computationally expensive nature of its training process is a major bottleneck to the construction of SVM-based solutions.

Objetivo

The goal of this thesis is to design, develop and implement a component to integrate/support GPUMLib.  More specifically, the component to be developed includes the implementation, test and experimentation of Support Vector Machines. Tests will be held in several benchmarks as well as in real-world problems, in order to compare the performances both in the GPU implementation and in a standalone CPU version as well as to assess the speedups obtained.  

Plano de Trabalhos - Semestre 1

·       Review of the state-of-the-art multicore technologies

·        CUDA,

·       Preliminary

·       Analysis, Specification and Implementation

·       Tests and Experimentation

·       Thesis Report

 

Review of the State-of-the-Art (months 1-2)

In this phase, the student should make a review of the state-of-the-art as well as start creating a standalone CPU version of the SVM algorithm.

 

Introduction to CUDA (months 3-4)

In this phase, the student will become familiar with the CUDA technology. The student should also start to create the GPU parallel version of the SVM algorithm.

 

Functionalities to be included in the SVM Component of GPUMLib (month 4)

As a result of the previous phase and prior to Thesis Proposal writing, functionalities to be included in the SVM component should be defined.

 

Write Thesis Report (month 5).

Plano de Trabalhos - Semestre 2

SVM Component Implementation of GPUMLib (months 6-9).

The CPU and GPU implementations of the SVM algorithm should be completed in order to proceed with the tests.

 

SVM Component Tests and Experimentation (month 9).

 

Thesis Final Report (month 10)

Condições

The work will be in the Departament of Informatics Engineering, in the Adaptive Computation Group, Laboratory of Neural Networks (LARN) of the Center for Informatics and Systems of the University of Coimbra. A desktop with a graphic card GTX 295, with 2 GPUs (240 cores) and 4GB RAM is available in LARN for performing the work and experiments.

Observações

Preference will be given to students with a good assessment in the courses related with this work (e.g. Computação Adaptativa, Sistemas Distribuídos, Computação de Alto Desempenho e Integração de Sistemas). Experience in C or C++ is required.

Orientador

Profª Doutora Bernardete Ribeiro
bribeiro@dei.uc.pt 📩