jwalsh / jwalsh/hy-algorithms

Implement multithreaded algorithms

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
difficulty:hard
Dominant language
Hy
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Create implementations for parallel and multithreaded algorithm patterns in Hy:

## Parallelization patterns:
- Map-reduce
- Fork-join
- Pipeline processing
- Worker pool
- Producer-consumer
- Master-worker

## Parallel algorithms:
- Parallel merge sort
- Parallel quick sort
- Parallel matrix multiplication
- Parallel prefix sum (scan)
- Parallel breadth-first search
- Parallel graph algorithms

## Synchronization primitives:
- Locks and mutexes
- Semaphores
- Barriers
- Condition variables
- Atomic operations

## Requirements:
- Provide detailed complexity and speedup analysis
- Include scalability considerations
- Create comprehensive test cases with benchmarks
- Document parallel algorithm design patterns

This collection will demonstrate effective techniques for leveraging multi-core processors and parallel computing architectures using Hy's capabilities for interacting with Python's parallel processing libraries.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.