Skip to content
This repository has been archived by the owner on Sep 19, 2024. It is now read-only.

Concurrent Computing Project 2023

Notifications You must be signed in to change notification settings

LPD-EPFL/CS453-2023-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS-453 - Course project

The project description is available on Moodle and the website of the course.

The description includes:

  • an introduction to (software) transactional memory
  • an introduction to concurrent programming in C11/C++11, with pointers to more resources
  • the specifications of the transactional memory you have to implement, i.e. both:
    • sufficient properties for a transactional memory to be deemed correct
    • a thorough description of the transactional memory interface
  • practical informations, including:
    • how to test your implementation on your local machine and on the evaluation server
    • how your submission will be graded
    • rules for (optionally) using 3rd-party libraries and collaboration (although the project is individual)

This repository provides:

  • examples of how to use synchronization primitives (in sync-examples/)
  • a reference implementation (in reference/)
  • a "skeleton" implementation (in template/)
    • this template is written in C11
    • feel free to overwrite it completely if you prefer to use C++ (in this case include <tm.hpp> instead of <tm.h>)
  • the program that will test your implementation (in grading/)
    • the same program will be used on the evaluation server (although possibly with a different seed)
    • you can use it to test/debug your implementation on your local machine (see the description)
  • a tool to submit your implementation (in submit.py)
    • you should have received by mail a secret unique user identifier (UUID)
    • see the description for more information