Giter Site home page Giter Site logo

Lexi Spikerman's Projects

cuda_3d_array_computation icon cuda_3d_array_computation

Both programs carry out a 'nearest neighbor' or 'stencil' computation on a 3D array b. Array b is initialized with random integers (1-50) and copied to the GPU for computation. Array a stores the computation of b's values and is copied back to the host. The non-tiled version of the program does the computation as given. The tiled version breaks the array into blocks for computation.

cuda_histogram icon cuda_histogram

This program takes in a number of values (N) and a number of classes (M) and creates a histogram with M classes with a total number of N values. It outputs the count for each class in ascending order. The values for N numbers are random between 1 and 1000.

mpi_histogram icon mpi_histogram

This program takes in a number of values (N) and a number of classes (M) and creates a histogram with M classes with a total number of N values. It outputs the count for each class in ascending order. The values for N numbers are random between 1 and 1000

openmp_matrix_decomposition icon openmp_matrix_decomposition

The program generates a 1024x1024 matrix with random values between 1 and 50. Using LU Decomposition, it then decomposes the matrix and inverts it. The decomposition is stored in the original matrix.

openmp_matrix_multiplication icon openmp_matrix_multiplication

The program multiples a 1000x1000 matrix of integers with a 1000x1 vector of integers to get a resulting 1000x1 vector of integers. It uses OpenMP parallel fors and OpenMP built-in reduction. It also prints the number of processors and threads available on the system (I used the COE systems) and the unique thread id for each thread. Then, it prints the resulting vector.

openmp_philosophers icon openmp_philosophers

This program takes in a number of philosophers and allows each philosopher to eat if they have two forks in hand, else the philosopher thinks. It is an OpenMP parallel program that represents philosophers with threads and forks with locks. The output is controlled with locks. The output order is not consistent but rather prints on update.

pthread_divisable_numbers icon pthread_divisable_numbers

The program creates 4 threads and 4 semaphores. Each thread checks numbers 1 - 1000 and prints out each one divisible by 3 or 4. The threads use semaphores to control the output of the number. It will print thread 0 -> 1 -> 2 -> 3 and then repeat. Then, it increases a count value that then prints at the end and describes how many values were divisible by 3 or 4 overall. The value printed is 500.

pthread_philosophers icon pthread_philosophers

This program takes in a number of philosophers and allows each philosopher to eat if they have two forks in hand, else the philosopher thinks. It is a threaded program that represents philosophers with threads and forks with mutex locks. The output is controlled with semaphores.

pthread_prime_numbers icon pthread_prime_numbers

This program takes in a number and a thread number (n) and finds all the primes between 1 and the number using n threads. The program then prints out all the primes between 1 and the number and gives the serial and parallel times.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.