Hauptnavigation

Pages about teaching are available in German only Zurück zu der Liste der Abschlussarbeiten

Offene Abschlussarbeiten

Accelerated Spherical k-means Clustering in Rust

Title Accelerated Spherical k-means Clustering in Rust
Description

Wir haben 2021 auf der SISAP 2021 eine beschleunigte Version von spherical k-means clustering demonstriert, mit einer Umsetzung in Java.

Um diese einem weiteren Anwenderkreis zugänglich zu machen, möchten wir eine effiziente und optimierte Version in der Programmiersprache Rust umsetzen, die anschließend von Python aus verwendbar sein soll.

Aufgrund des reproduzierenden Charakters eignet sich dieses Thema nur als Bachelorarbeit.

Qualification

Sehr gute Note in Rechnerstrukturen und Betriebssystemen (Speicherlayout, Speichermanagement, Betriebssystemnahe programmierung)

Sehr gute Programmierkenntnisse, und die Bereitschaft sich in die strenge Sprache Rust einzuarbeiten

Kenntnisse von Clusteranalyse und NLP sowie Python vorteilhaft

Proposal

Rust ist eine sehr strikte, aber dadurch auch sehr performante und sichere Programmiersprache, die von Mozilla entwickelt wurde um kritische Teile des Firefox-Webbrowsers neu zu schreiben. Die Sprache bietet eine Optimierung auf dem Level von C und C++, aber mit einem gänzlich neuen Ownership-basierten Konzept der Speicherverwaltung um insbesondere Speicherzugriffsfehler zu vermeiden.

Da hier mit PyO3 einfach Python-Schnittstellen generiert werden können, eignet sie sich auch sehr gut dafür, performancekritische Funktionen für Python umzusetzen, die in Python zu langsam wären.

Thesistype Bachelorthesis
Second Tutor Schubert, Erich
Professor Schubert, Erich
Status Offen