Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,304 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Content

How To

  1. Create github account (if not exists);
  2. Make sure SSH clone & commit is working (Connecting to GitHub with SSH);
  3. Fork this repo (just click Fork button on the top of the page, detailed instructions here)
  4. Clone your forked repo into your local machine, use your user instead of username:
git clone git@github.com:username/gpu-2025.git
cd gpu-2025
  1. Go to your group folder, e.g.:
cd 3822B1FI1
  1. Go to needed task folder, e.g.:
cd 1_gelu_omp
  1. Create new folder with your surname and name (make sure it's the same for all tasks), e.g.:
mkdir petrov_ivan
  1. Copy your task source/header files (including main program) into this folder (use copy instead of cp on Windows), e.g.:
cd petrov_ivan
cp /home/usr/lab/*.cpp .
cp /home/usr/lab/*.h .
  1. Push your sources to github repo, e.g.:
cd ..
git add .
git commit -m "1_gelu_omp task"
git push
  1. Go to your repo in browser, click Contribute button on the top of page, then Open pull request. Provide meaningfull request title and description, then Create pull request (see details here).
  2. Go to Pull Requests page in course repo, find your pull request and check if there are no any merge conflicts occur. If merge conflicts happen - resolve it following the instruction provided by github.

Time Measurement

The following scheme is used to measure task execution time:

int main() {
    // ...

    // Warming-up
    Task(input, size);

    // Performance Measuring
    std::vector<double> time_list;
    for (int i = 0; i < 4; ++i) {
        auto start = std::chrono::high_resolution_clock::now();
        Task(input, size);
        auto end = std::chrono::high_resolution_clock::now();
        std::chrono::duration<double> duration = end - start;
        time_list.push_back(duration.count());
    }
    double time = *std::min_element(time_list.begin(), time_list.end());

    // ...
}

Configuration

  • CPU: Intel Core i5 12600K (4 cores, 4 threads)
  • RAM: 16 GB
  • GPU: NVIDIA RTX 4060 (8 GB)
  • OS: Ubuntu 22.04.3 LTS
  • Host Compiler: GCC 11.4.0 (C++17)
  • CUDA: 12.9

Tasks

Task #1: OpenMP GELU Implementation

The Gaussian Error Linear Unit (GELU) is an activation function frequently used in Deep Neural Networks (DNNs) and can be thought of as a smoother ReLU.

To approximate GELU function, use the following formula:

GELU(x) = $0.5x(1 + tanh(\sqrt{2 / \pi}(x + 0.044715 * x^3)))$

Implement the function with the following interface in C++:

std::vector<float> GeluOMP(const std::vector<float>& input);

Size of result vector should be the same as for input. Use OpenMP technology to make your function parallel & fast.

Two files are expected to be uploaded:

  • gelu_omp.h
#ifndef __GELU_OMP_H
#define __GELU_OMP_H

#include <vector>

std::vector<float> GeluOMP(const std::vector<float>& input);

#endif // __GELU_OMP_H
  • gelu_omp.cpp
#include "gelu_omp.h"

std::vector<float> GeluOMP(const std::vector<float>& input) {
    // Place your implementation here
}

Performance Hints:

  • better formula to compute GELU, e.g. replace tanh() with exp();
  • loop unrolling;
  • loop vectorization;
  • vector allocation and computations in different threads (Windows only).

Task #2: CUDA GELU Implementation

Implement the function with the following interface in CUDA C++ using the formula described above:

std::vector<float> GeluCUDA(const std::vector<float>& input);

Size of result vector should be the same as for input. Use CUDA technology to make your function work on NVIDIA GPU. Try to make it fast.

Two files are expected to be uploaded:

  • gelu_cuda.h
#ifndef __GELU_CUDA_H
#define __GELU_CUDA_H

#include <vector>

std::vector<float> GeluCUDA(const std::vector<float>& input);

#endif // __GELU_CUDA_H
  • gelu_cuda.cu
#include "gelu_cuda.h"

std::vector<float> GeluCUDA(const std::vector<float>& input) {
    // Place your implementation here
}

Performance Hints:

  • overlap host memory allocation and CUDA computations;
  • allocate and free device memory once;
  • use better formula to compute GELU, e.g. replace tanh() with exp().

Task #3: Naive Matrix Multiplication using OpenMP

General matrix multiplication (GEMM) is a very basic and broadly used linear algebra operation applied in high performance computing (HPC), statistics, deep learning and other domains. There are a lot of GEMM algorithms with different mathematical complexity form $O(n^3)$ for naive and block approaches to $O(n^{2.371552})$ for the method descibed by Williams et al. in 2024 [1]. But despite a variety of algorithms with low complexity, block matrix multiplication remains the most used implementation in practice since it fits to modern HW better.

To start learning matrix multiplication smoother, let us start with naive approach here. To compute matrix multiplication result C for matricies A and B, where C = A * B and the size for all matricies are $n*n$, one should use the following formula for each element of C (will consider only square matricies for simplicity):

$c_{ij}=\sum_{k=1}^na_{ik}b_{kj}$

To complete the task one should implement a function that multiplies two square matricies using OpenMP with the following interface:

std::vector<float> NaiveGemmOMP(const std::vector<float>& a,
                                const std::vector<float>& b,
                                int n);

Each matrix must be stored in a linear array by rows, so that a.size()==n*n. Function takes two matricies and their size as inputs, and returns result matrix also stored by rows.

For simplicity, let's consider matrix size is always power of 2.

Two files are expected to be uploaded:

  • naive_gemm_omp.h:
#ifndef __NAIVE_GEMM_OMP_H
#define __NAIVE_GEMM_OMP_H

#include <vector>

std::vector<float> NaiveGemmOMP(const std::vector<float>& a,
                                const std::vector<float>& b,
                                int n);

#endif // __NAIVE_GEMM_OMP_H
  • naive_gemm_omp.cpp:
#include "naive_gemm_omp.h"

std::vector<float> NaiveGemmOMP(const std::vector<float>& a,
                                const std::vector<float>& b,
                                int n) {
    // Place your implementation here
}

Performance Hints:

  • cache-friendly memory accesses;
  • loop unrolling;
  • loop vectorization.

Task #4: Naive Matrix Multiplication using CUDA

In this task one should implement naive approach for matrix multiplication in CUDA trying to make it fast enough (pay attention to global memory accesses in your code).

Each matrix must be stored in a linear array by rows, so that a.size()==n*n. Function takes two matricies and their size as inputs, and returns result matrix also stored by rows.

For simplicity, let's consider matrix size is always power of 2.

Two files are expected to be uploaded:

  • naive_gemm_cuda.h:
#ifndef __NAIVE_GEMM_CUDA_H
#define __NAIVE_GEMM_CUDA_H

#include <vector>

std::vector<float> NaiveGemmCUDA(const std::vector<float>& a,
                                 const std::vector<float>& b,
                                 int n);

#endif // __NAIVE_GEMM_CUDA_H
  • naive_gemm_cuda.cu:
#include "naive_gemm_cuda.h"

std::vector<float> NaiveGemmCUDA(const std::vector<float>& a,
                                 const std::vector<float>& b,
                                 int n) {
    // Place your implementation here
}

Performance Hints:

  • warp-friendly memory accesses;
  • multiple elements per warp processing;
  • loop unrolling and memory load vectorization;
  • block size selection;
  • overlap host memory allocation and CUDA computations.

Task #5: Block Matrix Multiplication using OpenMP

In real applications block-based approach for matrix multiplication can get multiple times faster execution comparing with naive version due to cache friendly approach. To prove this in practice, implement such a version in C++ using OpenMP.

In block version algorithm could be divided into three stages:

  1. Split matricies into blocks (block size normally affects performance significantly so choose it consciously);
  2. Multiply two blocks to get partial result;
  3. Replay step 2 for all row/column blocks accumulating values into a single result block.

From math perspective, block matrix multiplication could be described by the following formula, where $C_{IJ}$, $A_{IK}$ and $B_{KJ}$ are sub-matricies with the size $block_size*block_size$:

$C_{IJ}=\sum_{k=1}^{block_count}A_{IK}B_{KJ}$

Each matrix must be stored in a linear array by rows, so that a.size()==n*n. Function takes two matricies and their size as inputs, and returns result matrix also stored by rows.

For simplicity, let's consider matrix size is always power of 2.

Two files are expected to be uploaded:

  • block_gemm_omp.h:
#ifndef __BLOCK_GEMM_OMP_H
#define __BLOCK_GEMM_OMP_H

#include <vector>

std::vector<float> BlockGemmOMP(const std::vector<float>& a,
                                const std::vector<float>& b,
                                int n);

#endif // __BLOCK_GEMM_OMP_H
  • block_gemm_omp.cpp:
#include "block_gemm_omp.h"

std::vector<float> BlockGemmOMP(const std::vector<float>& a,
                                const std::vector<float>& b,
                                int n) {
    // Place your implementation here
}

As in previous task, let us consider all matricies are square.

Performance Hints:

  • cache-friendly memory accesses;
  • loop unrolling;
  • loop vectorization.

Task #6: Block Matrix Multiplication using CUDA

In CUDA C++ block-based approach looks similar. But to get better performance one should use CUDA shared memory to store each particular block while computations. With this consideration, algorithm will be the following:

  1. A single CUDA block should compute a single block of result matrix C, a single CUDA thread - a single matrix C element;
  2. For each A block in a row and B block in a column:
    1. Load A block into shared memory;
    2. Load B block into shared memory;
    3. Synchronize over all threads in block;
    4. Compute BlockA * BlockB and accumulate into C block in shared memory;
    5. Synchronize over all threads in block;
  3. Dump block C from shared to global memory.

Each matrix must be stored in a linear array by rows, so that a.size()==n*n. Function takes two matricies and their size as inputs, and returns result matrix also stored by rows.

For simplicity, let's consider matrix size is always power of 2.

Two files are expected to be uploaded:

  • block_gemm_cuda.h:
#ifndef __BLOCK_GEMM_CUDA_H
#define __BLOCK_GEMM_CUDA_H

#include <vector>

std::vector<float> BlockGemmCUDA(const std::vector<float>& a,
                                 const std::vector<float>& b,
                                 int n);

#endif // __BLOCK_GEMM_CUDA_H
  • block_gemm_cuda.cu:
#include "block_gemm_cuda.h"

std::vector<float> BlockGemmCUDA(const std::vector<float>& a,
                                 const std::vector<float>& b,
                                 int n) {
    // Place your implementation here
}

Performance Hints:

  • shared memory usage to store matrix block;
  • warp-friendly memory accesses;
  • multiple elements per warp processing;
  • loop unrolling and memory load vectorization;
  • block size selection;
  • overlap host memory allocation and CUDA computations.

Task #7: Matrix Multiplication using cuBLAS

The most performant way to multiply two matrices on particular hardware is to use vendor-provided library for this purpose. In CUDA it's cuBLAS. Try to use cuBLAS API to implement general matrix multiplication in most performant way.

Each matrix must be stored in a linear array by rows, so that a.size()==n*n. Function takes two matricies and their size as inputs, and returns result matrix also stored by rows.

For simplicity, let's consider matrix size is always power of 2.

Note, that in cuBLAS API matrix is expected to be stored by columns, so additional transpose may be required.

Two files are expected to be uploaded:

  • gemm_cublas.h:
#ifndef __GEMM_CUBLAS_H
#define __GEMM_CUBLAS_H

#include <vector>

std::vector<float> GemmCUBLAS(const std::vector<float>& a,
                              const std::vector<float>& b,
                              int n);

#endif // __GEMM_CUBLAS_H
  • gemm_cublas.cu:
#include "gemm_cublas.h"

std::vector<float> GemmCUBLAS(const std::vector<float>& a,
                              const std::vector<float>& b,
                              int n) {
    // Place your implementation here
}

Performance Hints:

  • overlap host memory allocation and CUDA computations;
  • avoid redundant device memory allocation.

Task #8: FFT (Fast Fourier Transform) using cuFFT

Another widely used operation in HPC & signal processing is discrete Fourier Transform. Naive approach (by definition) has $O(n^2)$ complexity and is not used in practice due to its slowness. Better way is Fast Fourier Transform (FFT) algorithm with $O(n*log(n))$ complexity.

Due to its frequent use, FFT algorithm implementation is normally a part of vendor-optimized solutions for various hardware chips. For NVIDIA GPUs one should take cuFFT library.

To pass the task one should implement a funtion that takes $batch$ signals of $n$ complex elements, and performs complex-to-complex forward and than inverse Fourier transform for them. For better performance use cuFFT API.

Required function should have the following prototype:

std::vector<float> FffCUFFT(const std::vector<float>& input, int batch);

Here $batch$ is a number of independent signals, $input$ contains complex values in the format of $(real, imaginary)$ pairs of floats storing pair by pair. So $input$ array size must be equal to $2 * n * batch$.

The function should perform the following actions:

  1. Compute forward Fourier transform for $input$;
  2. Compute inverse Fourier transform for the result of step 1;
  3. Normalize result of step 2 by $n$.

Returned array must store result of step 3 in the same format of $(real, imaginary)$ pairs as $input$ and have the same size.

Note, that due to Fourier Transform math properties, result array will have the same values as input one. This specificity could be used for self-checking.

Two files are expected to be uploaded:

  • fft_cufft.h:
#ifndef __FFT_CUFFT_H
#define __FFT_CUFFT_H

#include <vector>

std::vector<float> FffCUFFT(const std::vector<float>& input, int batch);

#endif // __FFT_CUFFT_H
  • fft_cufft.cu:
#include "fft_cufft.h"

std::vector<float> FffCUFFT(const std::vector<float>& input, int batch) {
    // Place your implementation here
}

Performance Hints:

  • make normalization on device;
  • do not allocate redundant device memory;
  • overlap host memory allocation and CUDA computations.

Task #9: OpenCL GELU Implementation

Implement GELU function with the following interface in OpenCL using the formula described in task #1:

std::vector<float> GeluOCL(const std::vector<float>& input, int platform);

Size of result vector should be the same as for input. Use OpenCL technology to make your function work on NVIDIA GPU. Try to make it fast.

Use CL_DEVICE_GPU flag to choose GPU device. Use platform platform and 0 device. Store your OpenCL kernel in a string constant.

Two files are expected to be uploaded:

  • gelu_ocl.h
#ifndef __GELU_OCL_H
#define __GELU_OCL_H

#include <vector>

std::vector<float> GeluOCL(const std::vector<float>& input, int platform);

#endif // __GELU_OCL_H
  • gelu_ocl.cpp
#include "gelu_ocl.h"

std::vector<float> GeluOCL(const std::vector<float>& input, int platform) {
    // Place your implementation here
}

Performance Hints:

  • perform OpenCL boilerplate code once;
  • use better formula to compute GELU, e.g. replace tanh() with exp();
  • overlap host memory allocation and GPU computations.

Results

1_gelu_omp (134217728 elements)

Group Name Result Rank
FAST FAST 0.1136 -
3822B1PE1 krylov_mikhail 0.1947 12
3822B1PE1 sorochkin_danila 0.2463 25
3822B1FI1 ionova_ekaterina 0.2465 6
3822B1FI1 Ionova_ekaterina 0.2479 4
3822B1PE3 mironov_ilya 0.2497 6
3822B1PE3 oturin_alexander 0.2526 2
3822B1PE1 vasilev_sergey 0.2554 21
3822B1PE1 rams_sergei 0.2559 5
3822B1FI1 elvin_veliev 0.2598 3
3822B1FI1 somov_ivan 0.2612 7
3822B1FI1 shulpin_ilya 0.2636 2
3822B1PE2 pikarychev_ilya 0.2645 18
3822B1PE2 matynina_aleksandra 0.2708 16
3822B1PE2 chernova_natalia 0.2717 17
3822B1FI3 kholin_kirill 0.2718 2
3822B1PE3 malyshev_anton 0.2723 7
3822B1FI3 kirill_kholin 0.2733 4
3822B1FI2 mezhuev_maksim 0.2735 2
3822B1FI1 komshina_daria 0.2744 5
3822B1PE1 belov_artem 0.2745 20
3822B1PE4 salaev_vladislav 0.2750 9
3822B1PE2 kalinin_dmitry 0.2766 15
3822B1PE1 kapustin_ivan 0.2768 23
3822B1PE1 tyurin_mikhail 0.2772 8
3822B1PE4 prokhorov_nikita 0.2776 13
3822B1PE2 petrov_artem 0.2777 22
3822B1PE2 zolotareva_arina 0.2777 11
3822B1PE4 ghanga_junior 0.2778 6
3822B1PE2 muradov_mike 0.2782 7
3822B1PE4 zinoviev_alexander 0.2783 4
3822B1PE2 kavtorev_dmitry 0.2784 14
3822B1PE4 vragov_ivan 0.2788 11
3822B1PE2 ermolaev_vladislav 0.2792 3
3822B1PE2 filatieva_elizaveta 0.2795 8
3822B1FI3 kudryashova_irina 0.2810 1
3822B1PE1 kalyakina_anastasia 0.2811 15
3822B1PE3 sotskov_andrey 0.2822 1
3822B1PE2 varfolomeev_gregory 0.2849 13
3822B1PE2 mukhina_margarita 0.2859 5
3822B1FI2 polyakov_alexey 0.2866 7
3822B1FI2 sdobnov_vladimir 0.2870 4
3822B1PE2 korovin_nikita 0.2914 2
3822B1PE1 khasanyanov_kirill 0.2921 17
3822B1FI3 koshkin_nikita 0.2933 5
3822B1PE1 vershinina_alexandra 0.2956 16
3822B1PE2 zaytsev_denis 0.2982 21
3822B1PE2 naumov_bogdan 0.2994 20
3822B1PE4 podovinnikov_artyom 0.3142 3
3822B1FI2 markin_ivan 0.4058 5
3822B1FI2 dormidontov_egor 0.4081 6
3822B1PE2 filatiev_vladislav 0.4155 9
REF REF 0.4736 -
3822B1PE2 gusev_nikita 0.6423 12
3822B1FI2 yasakova_tanya 0.6437 1
3822B1PE4 karaseva_ekaterina 0.6467 5
3822B1PE1 polikanov_vitaliy 0.6471 18
3822B1PE4 fomin_vladimir 0.6481 7
3822B1PE4 kovalchuk_alexander 0.6481 8
3822B1PE1 sidorina_polina 0.6509 19
3822B1FI3 agafeev_sergey 0.6527 8
3822B1PE3 ersoz_berke_eren 0.6537 8
3822B1FI3 lavrentyev_alexey 0.6559 6
3822B1PE1 korneeva_ekaterina 0.6560 24
3822B1FI2 shkurinskaya_elena 0.6565 3
3822B1PE4 muradov_kamal 0.6573 10
3822B1FI3 budazhapova_ekaterina 0.6583 7
3822B1PE4 konkov_ivan 0.6584 12
3822B1PE3 kazunin_nikita 0.6626 4
3822B1PE1 koshkin_matvey 0.6668 27
3822B1PE3 chernykh_andrey 0.6673 5
3822B1PE2 titov_semyon 0.6721 1
3822B1PE1 konstantinov_ilya 0.6725 9
3822B1PE1 moiseev_artem 0.6731 3
3822B1PE4 shuravina_oksana 0.6742 2
3822B1PE1 korablev_vladlen 0.6773 1
3822B1PE4 kolokolova_darya 0.6778 1
3822B1PE1 morozov_egor 0.6782 4
3822B1FI1 solovev_alexey 0.6786 1
3822B1PE1 gnitienko_kirill 0.6802 10
3822B1PE1 milovankin_maxim 0.6830 11
3822B1PE2 sorokin_andrey 0.6830 6
3822B1PE1 shvedova_vitalina 0.6866 2
3822B1PE2 kondratev_yaroslav 0.6881 4
3822B1PE1 ermilova_darya 0.6957 14
3822B1PE1 nikolaev_roman 0.6993 13
3822B1PE1 zaitsev_artem 0.7080 28
3822B1PE2 vladimirova_julia 0.7179 10
3822B1FI1 shpynov_nikita 0.7247 8
3822B1FI3 solovyev_danila 0.7275 3
3822B1PE1 sadikov_ivan 0.7339 6
3822B1PE1 voroshilov_vitaliy 0.7367 26
3822B1PE2 strakhov_andrey 0.7494 19
3822B1PE3 sarafanov_maxim 0.7546 3
3822B1PE1 odintsov_misha 0.7605 7
3822B1PE1 vedernikova_kseniya 1.0534 22
3822B1PE2 fyodorov_matthew TEST FAILED -

2_gelu_cuda (134217728 elements)

Group Name Result Rank
FAST FAST 0.1205 -
3822B1PE1 kapustin_ivan 0.1834 23
3822B1PE4 shuravina_oksana 0.1840 1
3822B1FI2 dormidontov_egor 0.1841 6
3822B1FI2 shkurinskaya_elena 0.1842 2
3822B1PE2 kavtorev_dmitry 0.1849 14
3822B1FI2 polyakov_alexey 0.1852 7
3822B1FI2 sdobnov_vladimir 0.1867 3
3822B1FI2 mezhuev_maksim 0.1877 4
3822B1PE1 belov_artem 0.1913 20
3822B1PE2 kalinin_dmitry 0.1934 15
3822B1PE2 strakhov_andrey 0.2085 19
3822B1PE2 vladimirova_julia 0.2095 10
3822B1FI1 solovev_alexey 0.2105 1
3822B1PE3 chernykh_andrey 0.2115 5
3822B1PE1 polikanov_vitaliy 0.2118 18
3822B1PE2 zolotareva_arina 0.2140 11
3822B1PE2 matynina_aleksandra 0.2143 16
3822B1FI2 yasakova_tanya 0.2151 1
3822B1PE4 kovalchuk_alexander 0.2152 8
3822B1FI3 lavrentyev_alexey 0.2153 4
3822B1PE1 shvedova_vitalina 0.2161 5
3822B1PE1 zaitsev_artem 0.2169 28
3822B1PE1 koshkin_matvey 0.2175 27
3822B1PE2 pikarychev_ilya 0.2187 18
3822B1PE1 tyurin_mikhail 0.2190 8
3822B1FI1 ionova_ekaterina 0.2191 5
3822B1PE1 ermilova_darya 0.2195 13
3822B1PE2 varfolomeev_gregory 0.2197 13
3822B1PE1 khasanyanov_kirill 0.2199 17
3822B1PE2 ermolaev_vladislav 0.2200 1
3822B1PE3 kazunin_nikita 0.2204 3
3822B1PE2 filatieva_elizaveta 0.2206 8
3822B1PE3 sarafanov_maxim 0.2209 4
REF REF 0.2209 -
3822B1PE4 fomin_vladimir 0.2212 11
3822B1PE1 sorochkin_danila 0.2214 25
3822B1PE1 milovankin_maxim 0.2217 10
3822B1FI1 elvin_veliev 0.2220 3
3822B1PE1 korneeva_ekaterina 0.2222 24
3822B1FI1 shulpin_ilya 0.2222 2
3822B1PE4 salaev_vladislav 0.2224 9
3822B1PE2 filatiev_vladislav 0.2224 9
3822B1PE2 chernova_natalia 0.2224 17
3822B1PE3 mironov_ilya 0.2226 6
3822B1PE4 podovinnikov_artyom 0.2227 3
3822B1PE1 gnitienko_kirill 0.2228 9
3822B1PE2 zaytsev_denis 0.2231 20
3822B1PE4 zinoviev_alexander 0.2233 4
3822B1PE2 kondratev_yaroslav 0.2234 4
3822B1PE3 malyshev_anton 0.2234 7
3822B1PE2 titov_semyon 0.2237 2
3822B1PE4 vragov_ivan 0.2238 12
3822B1PE3 oturin_alexander 0.2239 2
3822B1PE4 karaseva_ekaterina 0.2244 5
3822B1PE4 konkov_ivan 0.2246 7
3822B1FI1 somov_ivan 0.2246 6
3822B1PE2 naumov_bogdan 0.2248 22
3822B1FI3 solovyev_danila 0.2248 3
3822B1PE2 mukhina_margarita 0.2250 5
3822B1PE1 sidorina_polina 0.2252 19
3822B1PE4 prokhorov_nikita 0.2255 13
3822B1PE3 ersoz_berke_eren 0.2256 8
3822B1PE1 voroshilov_vitaliy 0.2257 26
3822B1FI3 koshkin_nikita 0.2257 5
3822B1FI3 budazhapova_ekaterina 0.2258 6
3822B1PE1 rams_sergei 0.2259 3
3822B1PE2 korovin_nikita 0.2259 3
3822B1PE2 gusev_nikita 0.2259 12
3822B1PE1 sadikov_ivan 0.2262 6
3822B1PE3 sotskov_andrey 0.2269 1
3822B1PE1 vedernikova_kseniya 0.2270 22
3822B1FI3 kudryashova_irina 0.2274 1
3822B1PE4 muradov_kamal 0.2276 10
3822B1PE4 kolokolova_darya 0.2279 2
3822B1PE4 ghanga_junior 0.2288 6
3822B1PE1 korablev_vladlen 0.2295 2
3822B1PE2 petrov_artem 0.2297 21
3822B1PE1 moiseev_artem 0.2298 1
3822B1FI2 markin_ivan 0.2301 5
3822B1PE2 muradov_mike 0.2306 7
3822B1PE2 sorokin_andrey 0.2306 6
3822B1PE1 konstantinov_ilya 0.2308 7
3822B1PE1 kalyakina_anastasia 0.2311 15
3822B1PE1 vasilev_sergey 0.2316 21
3822B1PE1 odintsov_misha 0.2321 14
3822B1FI1 shpynov_nikita 0.2325 7
3822B1FI3 kirill_kholin 0.2325 2
3822B1PE1 morozov_egor 0.2372 4
3822B1PE1 nikolaev_roman 0.2395 12
3822B1FI3 agafeev_sergey 0.2520 7
3822B1PE1 krylov_mikhail 0.2577 11
3822B1PE1 vershinina_alexandra 0.6209 16
3822B1FI1 komshina_daria 0.6698 4
3822B1PE2 fyodorov_matthew TEST FAILED -

3_naive_gemm_omp (1024 elements)

Group Name Result Rank
3822B1PE4 zinoviev_alexander 0.0254 4
3822B1PE2 zolotareva_arina 0.0259 11
3822B1PE1 korablev_vladlen 0.0260 4
3822B1PE1 milovankin_maxim 0.0261 11
3822B1PE1 moiseev_artem 0.0261 3
FAST FAST 0.0261 -
3822B1PE3 oturin_alexander 0.0264 2
3822B1PE2 muradov_mike 0.0265 7
3822B1PE1 vedernikova_kseniya 0.0265 22
3822B1FI3 kirill_kholin 0.0266 2
3822B1PE4 vragov_ivan 0.0267 11
3822B1PE4 salaev_vladislav 0.0267 8
3822B1PE1 voroshilov_vitaliy 0.0271 26
3822B1PE3 chernykh_andrey 0.0274 5
3822B1PE1 tyurin_mikhail 0.0308 8
3822B1PE1 ermilova_darya 0.0312 14
3822B1PE1 konstantinov_ilya 0.0325 7
3822B1FI2 polyakov_alexey 0.0689 7
3822B1FI2 dormidontov_egor 0.0696 6
3822B1FI2 sdobnov_vladimir 0.0702 3
3822B1FI2 shkurinskaya_elena 0.0794 2
3822B1PE2 varfolomeev_gregory 0.0845 15
3822B1PE2 matynina_aleksandra 0.0873 16
3822B1PE1 nikolaev_roman 0.0907 12
3822B1PE3 sotskov_andrey 0.0940 1
3822B1PE2 fyodorov_matthew 0.1066 20
3822B1PE2 sorokin_andrey 0.1073 6
3822B1PE2 titov_semyon 0.1089 1
3822B1PE1 krylov_mikhail 0.1134 9
3822B1PE1 rams_sergei 0.1143 5
3822B1PE4 muradov_kamal 0.1206 10
3822B1PE1 belov_artem 0.1227 19
3822B1PE1 kalyakina_anastasia 0.1230 16
3822B1PE2 zaytsev_denis 0.1232 22
3822B1PE2 gusev_nikita 0.1242 12
3822B1PE1 zaitsev_artem 0.1242 28
3822B1PE1 sadikov_ivan 0.1249 1
3822B1PE4 karaseva_ekaterina 0.1440 5
3822B1PE3 kazunin_nikita 0.1819 3
3822B1PE1 morozov_egor 0.1872 6
3822B1PE1 vershinina_alexandra 0.1913 17
3822B1PE3 sarafanov_maxim 0.2487 4
3822B1PE2 naumov_bogdan 0.2488 21
3822B1PE3 ersoz_berke_eren 0.2505 8
3822B1PE1 korneeva_ekaterina 0.2515 24
3822B1FI3 lavrentyev_alexey 0.2532 3
3822B1PE1 vasilev_sergey 0.2536 20
3822B1PE2 kalinin_dmitry 0.2540 14
3822B1FI1 komshina_daria 0.2545 4
3822B1PE2 mukhina_margarita 0.2602 4
3822B1FI2 markin_ivan 0.2821 5
3822B1PE2 korovin_nikita 0.3160 5
3822B1FI2 mezhuev_maksim 0.6826 4
3822B1FI3 kudryashova_irina 0.6950 1
3822B1FI1 ionova_ekaterina 0.7003 5
3822B1FI3 agafeev_sergey 0.7009 7
3822B1PE4 fomin_vladimir 0.7020 6
3822B1PE1 khasanyanov_kirill 0.7031 15
3822B1FI1 elvin_veliev 0.7035 3
3822B1FI3 solovyev_danila 0.7046 5
3822B1PE1 sorochkin_danila 0.7074 25
3822B1PE1 koshkin_matvey 0.7089 27
3822B1FI3 koshkin_nikita 0.7102 4
3822B1PE2 pikarychev_ilya 0.7135 18
3822B1PE1 sidorina_polina 0.7136 18
3822B1PE4 podovinnikov_artyom 0.7137 1
3822B1PE1 kapustin_ivan 0.7137 23
3822B1PE4 konkov_ivan 0.7144 12
3822B1PE4 ghanga_junior 0.7157 9
3822B1PE3 malyshev_anton 0.7180 7
3822B1PE2 chernova_natalia 0.7183 17
3822B1PE4 prokhorov_nikita 0.7198 14
3822B1PE2 filatiev_vladislav 0.7226 9
3822B1FI2 yasakova_tanya 0.7227 1
3822B1PE4 shuravina_oksana 0.7258 2
3822B1PE4 kolokolova_darya 0.7264 3
3822B1PE4 prokhohov_nikita 0.7281 13
3822B1PE2 ermolaev_vladislav 0.7310 2
3822B1PE1 gnitienko_kirill 0.7319 10
3822B1PE2 kavtorev_dmitry 0.7320 13
3822B1PE2 petrov_artem 0.7324 23
3822B1PE3 mironov_ilya 0.7349 6
3822B1PE2 filatieva_elizaveta 0.7385 8
3822B1PE2 strakhov_andrey 0.7449 19
3822B1FI3 budazhapova_ekaterina 0.7476 6
3822B1PE1 polikanov_vitaliy 0.7478 21
3822B1FI1 solovev_alexey 0.7486 1
3822B1PE2 kondratev_yaroslav 0.7529 3
3822B1FI1 somov_ivan 0.7620 6
3822B1PE4 kovalchuk_alexander 0.7696 7
REF REF 0.7773 -
3822B1PE1 shvedova_vitalina 0.7832 2
3822B1PE2 vladimirova_julia 0.7843 10
3822B1FI1 shulpin_ilya 0.7960 2
3822B1FI1 shpynov_nikita 0.8225 7
3822B1PE1 odintsov_misha 0.8459 13

4_naive_gemm_cuda (4096 elements)

Group Name Result Rank
3822B1PE1 nikolaev_roman 0.0626 10
3822B1PE3 oturin_alexander 0.0638 3
FAST FAST 0.0776 -
3822B1PE4 kovalchuk_alexander 0.1338 9
3822B1PE2 zolotareva_arina 0.1368 11
3822B1PE1 krylov_mikhail 0.1392 7
3822B1FI2 yasakova_tanya 0.1406 1
3822B1FI1 shulpin_ilya 0.1419 2
3822B1FI1 somov_ivan 0.1439 6
3822B1PE2 filatiev_vladislav 0.1506 9
3822B1PE2 korovin_nikita 0.1543 5
3822B1FI3 koshkin_nikita 0.1565 3
3822B1PE3 sotskov_andrey 0.1604 1
3822B1PE1 konstantinov_ilya 0.1638 6
3822B1FI2 dormidontov_egor 0.1657 6
3822B1FI2 sdobnov_vladimir 0.1672 3
3822B1FI2 shkurinskaya_elena 0.1678 2
3822B1PE4 prokhorov_nikita 0.1704 13
3822B1PE4 podovinnikov_artyom 0.1717 1
3822B1FI1 shpynov_nikita 0.1722 7
3822B1PE1 ermilova_darya 0.1723 15
3822B1PE1 shvedova_vitalina 0.1729 4
3822B1PE2 mukhina_margarita 0.1731 4
3822B1PE1 sidorina_polina 0.1733 18
3822B1PE1 sorochkin_danila 0.1740 25
3822B1PE4 konkov_ivan 0.1750 8
3822B1PE4 kolokolova_darya 0.1755 4
3822B1PE1 sadikov_ivan 0.1762 5
3822B1PE2 kondratev_yaroslav 0.1763 3
3822B1PE1 zaitsev_artem 0.1770 28
3822B1PE2 strakhov_andrey 0.1774 19
3822B1FI3 agafeev_sergey 0.1808 7
3822B1PE2 pikarychev_ilya 0.1810 18
3822B1FI3 kirill_kholin 0.1816 1
3822B1FI3 kudryashova_irina 0.1833 2
3822B1PE2 muradov_mike 0.1834 7
3822B1PE1 tyurin_mikhail 0.1837 11
3822B1PE2 ermolaev_vladislav 0.1841 2
3822B1PE1 kalyakina_anastasia 0.1853 14
3822B1PE1 vershinina_alexandra 0.1856 16
3822B1PE3 malyshev_anton 0.1866 7
3822B1FI2 mezhuev_maksim 0.1876 4
3822B1PE2 zaytsev_denis 0.1892 22
3822B1PE2 matynina_aleksandra 0.1901 16
3822B1PE2 kalinin_dmitry 0.1910 15
3822B1PE1 polikanov_vitaliy 0.1930 20
3822B1PE1 belov_artem 0.1934 19
3822B1PE1 kapustin_ivan 0.1955 22
3822B1PE4 shuravina_oksana 0.1955 2
3822B1PE1 vedernikova_kseniya 0.1990 24
3822B1FI2 markin_ivan 0.2004 5
3822B1FI1 komshina_daria 0.2030 4
3822B1PE2 fyodorov_matthew 0.2037 20
3822B1PE4 vragov_ivan 0.2074 12
3822B1PE3 kazunin_nikita 0.2165 2
3822B1FI3 solovyev_danila 0.2174 5
3822B1PE4 salaev_vladislav 0.2260 10
3822B1FI2 polyakov_alexey 0.2333 7
3822B1PE3 mironov_ilya 0.2351 6
3822B1PE1 milovankin_maxim 0.2353 8
3822B1PE4 ghanga_junior 0.2407 6
3822B1PE4 muradov_kamal 0.2428 11
3822B1PE4 karaseva_ekaterina 0.2430 5
3822B1FI3 lavrentyev_alexey 0.2466 4
3822B1FI1 elvin_veliev 0.2481 3
3822B1PE2 filatieva_elizaveta 0.2492 8
3822B1PE1 vasilev_sergey 0.2538 21
3822B1PE1 moiseev_artem 0.2539 2
3822B1PE4 zinoviev_alexander 0.2612 3
3822B1FI1 solovev_alexey 0.2613 1
3822B1PE4 fomin_vladimir 0.2643 7
3822B1FI3 budazhapova_ekaterina 0.2668 6
3822B1PE1 korneeva_ekaterina 0.2698 23
3822B1PE3 chernykh_andrey 0.2728 5
3822B1PE1 korablev_vladlen 0.2780 3
3822B1PE1 rams_sergei 0.3064 1
3822B1PE2 petrov_artem 0.3259 23
3822B1PE1 gnitienko_kirill 0.3485 9
3822B1FI1 ionova_ekaterina 0.4071 5
3822B1PE2 naumov_bogdan 0.4202 21
3822B1PE1 khasanyanov_kirill 0.4413 13
3822B1PE1 voroshilov_vitaliy 0.4488 26
3822B1PE3 ersoz_berke_eren 0.4505 8
3822B1PE2 vladimirova_julia 0.4506 10
3822B1PE1 odintsov_misha 0.4525 12
3822B1PE1 koshkin_matvey 0.4543 27
3822B1PE2 chernova_natalia 0.4545 17
3822B1PE2 kavtorev_dmitry 0.4578 14
3822B1PE2 gusev_nikita 0.5191 12
3822B1PE1 morozov_egor 0.5286 17
REF REF 0.5798 -
3822B1PE2 titov_semyon 0.6015 1
3822B1PE2 varfolomeev_gregory 0.6313 13
3822B1PE3 sarafanov_maxim 1.0130 4
3822B1PE2 sorokin_andrey 1.0225 6

5_block_gemm_omp (1024 elements)

Group Name Result Rank
3822B1PE2 mukhina_margarita 0.0221 3
FAST FAST 0.0231 -
3822B1PE2 petrov_artem 0.0263 23
3822B1PE2 muradov_mike 0.0265 7
3822B1PE3 chernykh_andrey 0.0265 5
3822B1FI3 kirill_kholin 0.0292 3
3822B1FI3 kholin_kirill 0.0294 1
3822B1PE4 ghanga_junior 0.0295 6
3822B1PE1 ermilova_darya 0.0297 15
3822B1PE2 zaytsev_denis 0.0298 22
3822B1PE1 belov_artem 0.0299 19
3822B1PE2 kondratev_yaroslav 0.0302 5
3822B1PE1 korneeva_ekaterina 0.0303 23
3822B1PE4 vragov_ivan 0.0307 12
3822B1PE4 prokhorov_nikita 0.0310 13
3822B1PE2 fyodorov_matthew 0.0335 20
3822B1PE2 zolotareva_arina 0.0360 11
3822B1PE4 shuravina_oksana 0.0374 2
3822B1PE1 milovankin_maxim 0.0404 8
3822B1PE4 zinoviev_alexander 0.0411 3
3822B1PE4 salaev_vladislav 0.0412 9
3822B1FI2 dormidontov_egor 0.0422 6
3822B1FI2 yasakova_tanya 0.0424 1
3822B1FI3 agafeev_sergey 0.0426 8
3822B1FI1 shpynov_nikita 0.0429 7
3822B1PE1 gnitienko_kirill 0.0464 9
3822B1PE2 gusev_nikita 0.0522 12
3822B1FI2 sdobnov_vladimir 0.0769 4
3822B1FI2 polyakov_alexey 0.0773 7
3822B1PE2 varfolomeev_gregory 0.0889 15
3822B1FI1 komshina_daria 0.0918 4
3822B1FI2 shkurinskaya_elena 0.0919 2
3822B1PE1 vasilev_sergey 0.0926 21
3822B1PE3 oturin_alexander 0.0943 1
3822B1PE2 sorokin_andrey 0.0950 6
3822B1PE3 kazunin_nikita 0.0958 3
3822B1PE2 korovin_nikita 0.0959 4
3822B1PE2 titov_semyon 0.0988 1
3822B1FI3 budazhapova_ekaterina 0.0993 7
3822B1PE4 kovalchuk_alexander 0.1001 11
3822B1PE1 vedernikova_kseniya 0.1005 24
3822B1PE1 khasanyanov_kirill 0.1015 14
3822B1FI1 somov_ivan 0.1147 6
3822B1PE3 ersoz_berke_eren 0.1176 8
3822B1PE1 zaitsev_artem 0.1234 28
3822B1PE1 sadikov_ivan 0.1235 5
3822B1PE2 vladimirova_julia 0.1310 10
3822B1FI2 mezhuev_maksim 0.1324 3
3822B1PE1 krylov_mikhail 0.1379 7
3822B1PE2 chernova_natalia 0.1405 17
3822B1PE1 rams_sergei 0.1406 3
3822B1PE4 kolokolova_darya 0.1430 4
3822B1PE2 pikarychev_ilya 0.1431 18
3822B1PE1 nikolaev_roman 0.1434 11
3822B1PE1 konstantinov_ilya 0.1458 6
3822B1PE4 karaseva_ekaterina 0.1459 5
3822B1PE1 tyurin_mikhail 0.1463 10
3822B1PE2 filatieva_elizaveta 0.1464 8
3822B1PE4 muradov_kamal 0.1492 10
3822B1PE2 filatiev_vladislav 0.1557 9
3822B1FI3 solovyev_danila 0.1575 6
3822B1FI2 markin_ivan 0.1613 5
3822B1PE1 vershinina_alexandra 0.1618 13
REF REF 0.1670 -
3822B1PE2 strakhov_andrey 0.1714 19
3822B1PE3 sarafanov_maxim 0.1730 4
3822B1FI3 lavrentyev_alexey 0.1733 4
3822B1FI1 shulpin_ilya 0.1761 2
3822B1PE1 moiseev_artem 0.1767 2
3822B1PE3 mironov_ilya 0.1782 6
3822B1FI1 ionova_ekaterina 0.1794 5
3822B1PE1 shvedova_vitalina 0.1814 4
3822B1PE1 kalyakina_anastasia 0.1833 16
3822B1PE2 kalinin_dmitry 0.1840 14
3822B1FI3 koshkin_nikita 0.1906 5
3822B1PE1 voroshilov_vitaliy 0.1918 26
3822B1PE4 konkov_ivan 0.1924 8
3822B1PE1 korablev_vladlen 0.1959 1
3822B1FI3 kudryashova_irina 0.2012 2
3822B1PE1 polikanov_vitaliy 0.2090 20
3822B1PE4 fomin_vladimir 0.2100 7
3822B1PE1 kapustin_ivan 0.2126 22
3822B1PE1 morozov_egor 0.2128 18
3822B1PE2 kavtorev_dmitry 0.2424 13
3822B1PE2 ermolaev_vladislav 0.2532 2
3822B1PE4 podovinnikov_artyom 0.2540 1
3822B1PE3 malyshev_anton 0.2547 7
3822B1PE2 matynina_aleksandra 0.2736 16
3822B1PE1 koshkin_matvey 0.2760 27
3822B1PE1 sorochkin_danila 0.2766 25
3822B1PE2 naumov_bogdan 0.2924 21
3822B1PE3 sotskov_andrey 0.2963 2
3822B1FI1 solovev_alexey 0.3512 1
3822B1FI1 elvin_veliev 0.3520 3
3822B1PE1 sidorina_polina 0.6883 17
3822B1PE1 odintsov_misha 0.7827 12

6_block_gemm_cuda (4096 elements)

Group Name Result Rank
3822B1PE1 gnitienko_kirill 0.0377 7
3822B1PE2 strakhov_andrey 0.0739 19
3822B1PE2 pikarychev_ilya 0.0755 18
3822B1FI2 sdobnov_vladimir 0.0756 5
3822B1FI2 polyakov_alexey 0.0766 7
FAST FAST 0.0776 -
3822B1PE3 oturin_alexander 0.1036 3
3822B1PE1 krylov_mikhail 0.1113 3
3822B1PE3 sarafanov_maxim 0.1286 4
3822B1PE1 polikanov_vitaliy 0.1304 20
3822B1FI1 shpynov_nikita 0.1304 7
3822B1PE1 morozov_egor 0.1306 17
3822B1PE1 nikolaev_roman 0.1318 6
3822B1FI2 shkurinskaya_elena 0.1343 2
3822B1PE2 chernova_natalia 0.1361 17
3822B1PE4 prokhorov_nikita 0.1372 13
3822B1PE4 vragov_ivan 0.1381 12
3822B1FI3 agafeev_sergey 0.1384 8
3822B1PE1 shvedova_vitalina 0.1390 10
3822B1PE2 fyodorov_matthew 0.1390 20
3822B1FI2 yasakova_tanya 0.1396 1
3822B1PE2 kavtorev_dmitry 0.1397 14
3822B1FI3 kholin_kirill 0.1397 1
3822B1PE2 zolotareva_arina 0.1398 11
3822B1PE2 naumov_bogdan 0.1399 21
3822B1PE1 odintsov_misha 0.1404 11
3822B1PE4 zinoviev_alexander 0.1404 3
3822B1PE4 fomin_vladimir 0.1411 7
3822B1PE4 kolokolova_darya 0.1412 4
3822B1PE2 titov_semyon 0.1417 1
3822B1FI1 solovev_alexey 0.1424 1
3822B1FI3 kirill_kholin 0.1428 3
3822B1PE3 chernykh_andrey 0.1436 5
3822B1PE2 sorokin_andrey 0.1449 6
3822B1PE4 muradov_kamal 0.1458 11
3822B1PE2 vladimirova_julia 0.1470 10
3822B1FI3 lavrentyev_alexey 0.1473 4
3822B1PE4 karaseva_ekaterina 0.1478 5
3822B1PE4 podovinnikov_artyom 0.1486 1
3822B1FI1 elvin_veliev 0.1489 3
3822B1PE3 mironov_ilya 0.1494 6
3822B1PE2 zaytsev_denis 0.1500 22
3822B1PE2 kondratev_yaroslav 0.1504 5
3822B1PE2 filatiev_vladislav 0.1505 9
3822B1FI1 somov_ivan 0.1518 6
3822B1PE1 kalyakina_anastasia 0.1522 15
3822B1PE1 zaitsev_artem 0.1524 28
3822B1PE1 belov_artem 0.1529 19
3822B1PE1 konstantinov_ilya 0.1544 4
3822B1PE4 ghanga_junior 0.1563 6
3822B1PE2 gusev_nikita 0.1593 12
3822B1PE1 khasanyanov_kirill 0.1601 12
3822B1PE4 salaev_vladislav 0.1605 9
3822B1PE1 vedernikova_kseniya 0.1678 24
3822B1PE2 filatieva_elizaveta 0.1776 8
3822B1PE2 mukhina_margarita 0.1836 3
3822B1FI1 shulpin_ilya 0.1843 2
3822B1FI1 komshina_daria 0.1861 4
3822B1FI3 kudryashova_irina 0.1866 2
3822B1PE1 milovankin_maxim 0.1871 5
3822B1FI3 budazhapova_ekaterina 0.1874 7
3822B1PE1 rams_sergei 0.1877 1
3822B1PE1 sidorina_polina 0.1881 18
3822B1PE1 moiseev_artem 0.1888 2
3822B1FI1 ionova_ekaterina 0.1912 5
3822B1PE1 korablev_vladlen 0.1917 9
3822B1PE1 sadikov_ivan 0.1932 8
3822B1FI2 mezhuev_maksim 0.1991 3
3822B1PE3 sotskov_andrey 0.1993 1
3822B1PE2 ermolaev_vladislav 0.2001 2
3822B1PE2 kalinin_dmitry 0.2008 15
3822B1PE2 petrov_artem 0.2032 23
3822B1FI3 solovyev_danila 0.2033 6
3822B1PE1 tyurin_mikhail 0.2108 16
3822B1FI2 markin_ivan 0.2121 4
3822B1PE3 kazunin_nikita 0.2142 2
3822B1FI2 dormidontov_egor 0.2210 6
3822B1PE1 vershinina_alexandra 0.2497 14
3822B1PE2 muradov_mike 0.2517 7
REF REF 0.3026 -
3822B1PE1 korneeva_ekaterina 0.3232 23
3822B1PE1 ermilova_darya 0.3264 13
3822B1PE1 kapustin_ivan 0.3287 22
3822B1PE2 matynina_aleksandra 0.3365 16
3822B1PE1 sorochkin_danila 0.3367 25
3822B1PE3 ersoz_berke_eren 0.3371 8
3822B1PE1 vasilev_sergey 0.3372 21
3822B1PE4 konkov_ivan 0.3373 8
3822B1PE4 kovalchuk_alexander 0.3382 10
3822B1FI3 koshkin_nikita 0.3405 5
3822B1PE1 koshkin_matvey 0.3446 27
3822B1PE2 korovin_nikita 0.3646 4
3822B1PE4 shuravina_oksana 0.4180 2
3822B1PE1 voroshilov_vitaliy 0.4237 26
3822B1PE2 varfolomeev_gregory 0.4286 13
3822B1PE3 malyshev_anton 1.2394 7

7_gemm_cublas (4096 elements)

Group Name Result Rank
3822B1PE1 polikanov_vitaliy 0.0425 21
3822B1FI1 somov_ivan 0.0425 6
3822B1PE2 petrov_artem 0.0426 21
3822B1PE1 sorochkin_danila 0.0428 25
3822B1PE1 tyurin_mikhail 0.0431 15
3822B1PE1 rams_sergei 0.0432 6
3822B1PE3 sarafanov_maxim 0.0432 4
3822B1PE1 voroshilov_vitaliy 0.0437 26
3822B1PE1 milovankin_maxim 0.0438 4
3822B1PE2 korovin_nikita 0.0445 5
3822B1PE1 moiseev_artem 0.0446 1
3822B1FI1 solovev_alexey 0.0447 1
3822B1PE1 belov_artem 0.0448 18
3822B1PE3 chernykh_andrey 0.0451 5
FAST FAST 0.0453 -
3822B1PE1 korablev_vladlen 0.0455 7
3822B1PE1 shvedova_vitalina 0.0461 9
3822B1FI1 elvin_veliev 0.0465 3
3822B1PE1 konstantinov_ilya 0.0468 3
3822B1PE1 koshkin_matvey 0.0471 27
3822B1PE1 gnitienko_kirill 0.0480 10
3822B1FI3 solovyev_danila 0.0480 5
3822B1FI2 shkurinskaya_elena 0.0486 2
3822B1PE2 ermolaev_vladislav 0.0499 2
3822B1PE2 pikarychev_ilya 0.0501 18
3822B1FI2 markin_ivan 0.0501 4
3822B1PE4 vragov_ivan 0.0502 11
3822B1PE2 titov_semyon 0.0503 1
3822B1PE2 zolotareva_arina 0.0509 11
3822B1PE3 ersoz_berke_eren 0.0512 8
3822B1PE2 matynina_aleksandra 0.0513 17
3822B1PE3 malyshev_anton 0.0514 7
3822B1PE3 mironov_ilya 0.0514 6
3822B1PE1 sadikov_ivan 0.0515 5
3822B1PE2 varfolomeev_gregory 0.0515 15
3822B1PE4 shuravina_oksana 0.0517 2
3822B1PE1 sidorina_polina 0.0518 17
3822B1FI3 lavrentyev_alexey 0.0518 3
3822B1PE1 kapustin_ivan 0.0519 22
3822B1PE2 chernova_natalia 0.0519 16
3822B1FI3 agafeev_sergey 0.0519 7
3822B1PE4 fomin_vladimir 0.0520 8
3822B1PE4 muradov_kamal 0.0520 9
3822B1FI2 dormidontov_egor 0.0521 6
3822B1PE2 kalinin_dmitry 0.0523 14
3822B1PE3 sotskov_andrey 0.0524 1
3822B1FI1 ionova_ekaterina 0.0527 4
3822B1PE4 karaseva_ekaterina 0.0528 4
3822B1PE2 kavtorev_dmitry 0.0529 13
3822B1FI3 kirill_kholin 0.0529 2
3822B1PE1 kalyakina_anastasia 0.0530 16
3822B1PE2 zaytsev_denis 0.0530 20
3822B1PE2 sorokin_andrey 0.0531 4
3822B1FI3 koshkin_nikita 0.0531 4
3822B1PE4 kolokolova_darya 0.0531 5
3822B1PE4 kovalchuk_alexander 0.0531 6
3822B1PE2 strakhov_andrey 0.0532 19
3822B1FI2 yasakova_tanya 0.0532 1
3822B1PE1 zaitsev_artem 0.0535 28
3822B1PE1 vedernikova_kseniya 0.0535 23
3822B1PE2 kondratev_yaroslav 0.0535 3
3822B1PE4 podovinnikov_artyom 0.0535 1
3822B1FI1 shulpin_ilya 0.0538 2
3822B1PE4 prokhorov_nikita 0.0541 13
3822B1PE2 gusev_nikita 0.0546 12
3822B1PE1 krylov_mikhail 0.0547 2
3822B1PE3 kazunin_nikita 0.0547 2
3822B1PE1 khasanyanov_kirill 0.0562 11
REF REF 0.0563 -
3822B1PE1 vasilev_sergey 0.0571 19
3822B1PE2 vladimirova_julia 0.0574 10
3822B1FI3 kudryashova_irina 0.0589 1
3822B1PE2 muradov_mike 0.0590 6
3822B1PE4 salaev_vladislav 0.0595 7
3822B1PE1 korneeva_ekaterina 0.0670 24
3822B1PE4 konkov_ivan 0.0678 12
3822B1PE1 ermilova_darya 0.0681 13
3822B1PE1 morozov_egor 0.0683 20
3822B1FI2 mezhuev_maksim 0.0751 3
3822B1PE2 naumov_bogdan 0.0753 22
3822B1FI1 komshina_daria 0.0763 5
3822B1PE3 oturin_alexander 0.0784 3
3822B1PE4 ghanga_junior 0.0785 10
3822B1PE4 zinoviev_alexander 0.0787 3
3822B1PE2 mukhina_margarita 0.0789 7
3822B1PE1 odintsov_misha 0.1022 12
3822B1PE1 vershinina_alexandra 0.1218 14
3822B1FI3 budazhapova_ekaterina 0.2796 6
3822B1PE2 filatiev_vladislav 0.5419 9
3822B1FI1 shpynov_nikita 0.7517 7
3822B1PE2 filatieva_elizaveta 0.7555 8
3822B1FI2 sdobnov_vladimir 0.7681 5
3822B1FI2 polyakov_alexey 0.7698 7
3822B1PE1 nikolaev_roman 0.7786 8
3822B1PE2 fyodorov_matthew BUILD FAILED -
3822B1FI3 kholin_kirill TEST FAILED -

8_fft_cufft (131072 elements)

Group Name Result Rank
3822B1PE1 belov_artem 0.0903 19
3822B1PE1 korneeva_ekaterina 0.0909 23
3822B1PE3 chernykh_andrey 0.1048 5
3822B1PE4 muradov_kamal 0.1063 10
3822B1FI3 agafeev_sergey 0.1072 7
FAST FAST 0.1075 -
3822B1FI3 budazhapova_ekaterina 0.1083 6
3822B1PE1 kapustin_ivan 0.1084 22
3822B1PE1 rams_sergei 0.1094 4
3822B1PE1 moiseev_artem 0.1100 1
3822B1PE1 ermilova_darya 0.1105 13
3822B1PE1 vedernikova_kseniya 0.1106 24
3822B1PE1 tyurin_mikhail 0.1108 14
3822B1PE1 krylov_mikhail 0.1109 2
3822B1PE1 shvedova_vitalina 0.1117 9
3822B1PE4 salaev_vladislav 0.1128 9
3822B1PE2 kalinin_dmitry 0.1128 15
3822B1PE3 sarafanov_maxim 0.1163 4
3822B1PE1 sorochkin_danila 0.1219 25
3822B1PE1 milovankin_maxim 0.1222 5
3822B1PE2 pikarychev_ilya 0.1222 18
3822B1PE1 khasanyanov_kirill 0.1226 12
3822B1PE4 karaseva_ekaterina 0.1226 5
3822B1FI3 solovyev_danila 0.1228 5
3822B1PE2 korovin_nikita 0.1231 3
3822B1PE4 prokhorov_nikita 0.1232 13
3822B1PE2 zaytsev_denis 0.1232 21
3822B1PE4 podovinnikov_artyom 0.1235 1
3822B1FI3 lavrentyev_alexey 0.1235 4
3822B1PE3 malyshev_anton 0.1239 7
3822B1PE4 vragov_ivan 0.1240 12
3822B1FI3 koshkin_nikita 0.1240 3
3822B1PE2 zolotareva_arina 0.1243 14
3822B1PE1 zaitsev_artem 0.1245 27
3822B1FI1 ionova_ekaterina 0.1245 4
3822B1PE3 oturin_alexander 0.1248 2
3822B1PE1 gnitienko_kirill 0.1249 16
3822B1PE2 gusev_nikita 0.1252 11
3822B1PE3 ersoz_berke_eren 0.1253 8
3822B1PE2 varfolomeev_gregory 0.1254 12
3822B1FI2 mezhuev_maksim 0.1262 3
3822B1PE3 mironov_ilya 0.1264 6
3822B1FI1 somov_ivan 0.1264 6
3822B1PE1 vasilev_sergey 0.1266 20
3822B1PE4 kolokolova_darya 0.1266 4
3822B1PE2 vladimirova_julia 0.1268 10
3822B1PE2 strakhov_andrey 0.1269 19
3822B1PE2 ermolaev_vladislav 0.1272 2
3822B1PE3 kazunin_nikita 0.1279 1
3822B1PE4 shuravina_oksana 0.1280 2
3822B1PE1 koshkin_matvey 0.1286 28
3822B1PE1 odintsov_misha 0.1291 11
3822B1PE1 sadikov_ivan 0.1300 6
3822B1FI1 solovev_alexey 0.1304 1
3822B1FI1 elvin_veliev 0.1309 3
3822B1FI3 kirill_kholin 0.1311 1
3822B1PE2 filatiev_vladislav 0.1347 9
3822B1FI2 markin_ivan 0.1362 4
3822B1PE1 nikolaev_roman 0.1365 7
3822B1PE2 kavtorev_dmitry 0.1381 13
3822B1PE2 mukhina_margarita 0.1397 5
3822B1PE2 chernova_natalia 0.1397 17
3822B1PE1 sidorina_polina 0.1398 17
3822B1FI2 dormidontov_egor 0.1398 5
3822B1PE4 kovalchuk_alexander 0.1399 8
3822B1FI1 shulpin_ilya 0.1400 2
3822B1PE1 korablev_vladlen 0.1401 8
3822B1PE4 ghanga_junior 0.1401 11
3822B1PE1 kalyakina_anastasia 0.1406 15
3822B1PE4 fomin_vladimir 0.1420 6
3822B1FI1 komshina_daria 0.1420 5
3822B1PE2 muradov_mike 0.1422 4
3822B1PE3 sotskov_andrey 0.1424 3
3822B1PE2 kondratev_yaroslav 0.1438 7
3822B1FI2 yasakova_tanya 0.1459 1
3822B1FI1 shpynov_nikita 0.1507 7
3822B1PE1 morozov_egor 0.1522 18
3822B1PE2 sorokin_andrey 0.1543 6
3822B1FI3 kudryashova_irina 0.1546 2
3822B1PE2 filatieva_elizaveta 0.1555 8
3822B1PE4 konkov_ivan 0.1563 7
3822B1PE1 voroshilov_vitaliy 0.1640 26
3822B1PE2 titov_semyon 0.1697 1
3822B1PE4 zinoviev_alexander 0.1713 3
3822B1PE1 polikanov_vitaliy 0.1718 21
3822B1FI2 sdobnov_vladimir 0.2225 6
REF REF 0.2228 -
3822B1PE2 petrov_artem 0.2246 22
3822B1PE1 vershinina_alexandra 0.2334 10
3822B1FI2 shkurinskaya_elena 0.2335 2
3822B1FI2 polyakov_alexey 0.2362 7
3822B1PE1 konstantinov_ilya 0.2411 3
3822B1PE2 matynina_aleksandra 0.2422 16
3822B1PE2 naumov_bogdan 0.3657 20
3822B1PE2 fyodorov_matthew BUILD FAILED -

9_gelu_ocl (134217728 elements)

Group Name Result Rank
FAST FAST 0.1188 -
3822B1PE1 korneeva_ekaterina 0.1826 22
3822B1FI2 dormidontov_egor 0.1838 5
3822B1PE2 kavtorev_dmitry 0.1869 12
3822B1FI2 mezhuev_maksim 0.1879 3
3822B1PE2 kalinin_dmitry 0.1979 13
3822B1FI2 shkurinskaya_elena 0.1981 2
3822B1PE1 belov_artem 0.2037 17
3822B1PE4 konkov_ivan 0.2096 12
3822B1PE3 chernykh_andrey 0.2147 5
3822B1PE4 karaseva_ekaterina 0.2239 3
3822B1PE2 varfolomeev_gregory 0.2261 11
3822B1PE2 korovin_nikita 0.2294 5
3822B1PE4 muradov_kamal 0.2339 10
3822B1PE3 mironov_ilya 0.2439 6
3822B1FI1 ionova_ekaterina 0.2464 5
3822B1PE1 vedernikova_kseniya 0.2565 28
3822B1PE3 oturin_alexander 0.2614 3
3822B1PE1 kapustin_ivan 0.2618 21
3822B1PE1 morozov_egor 0.2646 18
3822B1PE2 naumov_bogdan 0.2651 23
3822B1FI3 kirill_kholin 0.2672 2
3822B1PE2 gusev_nikita 0.2673 15
3822B1PE4 kovalchuk_alexander 0.2687 9
3822B1PE4 ghanga_junior 0.2706 6
3822B1FI3 lavrentyev_alexey 0.2706 3
3822B1PE1 khasanyanov_kirill 0.2711 10
3822B1PE3 sotskov_andrey 0.2949 2
3822B1PE2 chernova_natalia 0.2981 16
3822B1FI3 kudryashova_irina 0.2983 1
3822B1PE2 pikarychev_ilya 0.2990 18
3822B1PE4 kolokolova_darya 0.2995 4
3822B1PE2 fyodorov_matthew 0.2998 20
3822B1FI3 agafeev_sergey 0.2998 7
3822B1PE2 strakhov_andrey 0.3007 19
3822B1FI1 shulpin_ilya 0.3014 1
3822B1PE1 krylov_mikhail 0.3019 2
3822B1PE4 salaev_vladislav 0.3037 7
3822B1PE2 vladimirova_julia 0.3043 10
3822B1PE4 zinoviev_alexander 0.3043 5
3822B1PE2 ermolaev_vladislav 0.3052 7
3822B1PE3 malyshev_anton 0.3052 7
3822B1PE3 sarafanov_maxim 0.3099 4
3822B1PE1 rams_sergei 0.3110 5
3822B1PE4 podovinnikov_artyom 0.3114 1
3822B1PE1 moiseev_artem 0.3126 1
3822B1PE1 korablev_vladlen 0.3132 7
3822B1PE1 vasilev_sergey 0.3139 19
3822B1PE4 shuravina_oksana 0.3139 2
3822B1PE3 kazunin_nikita 0.3168 1
3822B1PE4 prokhorov_nikita 0.3170 13
3822B1PE1 milovankin_maxim 0.3182 3
3822B1FI3 koshkin_nikita 0.3215 5
3822B1PE3 ersoz_berke_eren 0.3230 8
3822B1PE1 sorochkin_danila 0.3303 23
3822B1FI2 markin_ivan 0.3350 4
3822B1FI2 sdobnov_vladimir 0.3358 6
3822B1PE2 filatiev_vladislav 0.3362 9
3822B1PE2 muradov_mike 0.3372 8
3822B1FI1 somov_ivan 0.3377 6
3822B1FI1 elvin_veliev 0.3385 3
3822B1PE1 sidorina_polina 0.3389 16
3822B1PE2 zolotareva_arina 0.3399 14
3822B1PE1 ermilova_darya 0.3401 11
3822B1PE2 zaytsev_denis 0.3410 21
3822B1PE2 matynina_aleksandra 0.3411 17
3822B1PE1 shvedova_vitalina 0.3413 8
3822B1FI3 solovyev_danila 0.3414 4
3822B1PE4 fomin_vladimir 0.3416 8
REF REF 0.3419 -
3822B1PE1 zaitsev_artem 0.3422 26
3822B1FI2 yasakova_tanya 0.3426 1
3822B1PE1 polikanov_vitaliy 0.3429 20
3822B1PE1 kalyakina_anastasia 0.3438 24
3822B1FI1 solovev_alexey 0.3438 2
3822B1FI1 komshina_daria 0.3439 4
3822B1FI2 polyakov_alexey 0.3450 7
3822B1PE1 odintsov_misha 0.3453 12
3822B1PE1 tyurin_mikhail 0.3455 13
3822B1PE1 sadikov_ivan 0.3460 14
3822B1PE1 koshkin_matvey 0.3474 27
3822B1PE2 filatieva_elizaveta 0.3476 4
3822B1PE1 voroshilov_vitaliy 0.3491 25
3822B1PE2 mukhina_margarita 0.3493 2
3822B1PE2 kondratev_yaroslav 0.3494 6
3822B1PE1 gnitienko_kirill 0.3500 15
3822B1FI3 budazhapova_ekaterina 0.3522 6
3822B1FI1 shpynov_nikita 0.3578 7
3822B1PE2 petrov_artem 0.3588 22
3822B1PE2 titov_semyon 0.3591 1
3822B1PE1 nikolaev_roman 0.3601 6
3822B1PE1 konstantinov_ilya 0.3629 4
3822B1PE2 sorokin_andrey 0.3648 3
3822B1PE4 vragov_ivan 0.3648 11
3822B1PE1 vershinina_alexandra 0.6035 9

Tasks Done

3822B1FI1

Group Name Passed Score
3822B1FI1 Ionova_ekaterina 1/9 60
3822B1FI1 elvin_veliev 9/9 532
3822B1FI1 ionova_ekaterina 9/9 520
3822B1FI1 komshina_daria 9/9 511
3822B1FI1 shpynov_nikita 9/9 483
3822B1FI1 shulpin_ilya 9/9 540
3822B1FI1 solovev_alexey 9/9 548
3822B1FI1 somov_ivan 9/9 510

Passed: 7

3822B1FI2

Group Name Passed Score
3822B1FI2 dormidontov_egor 9/9 517
3822B1FI2 markin_ivan 9/9 510
3822B1FI2 mezhuev_maksim 9/9 529
3822B1FI2 polyakov_alexey 9/9 491
3822B1FI2 sdobnov_vladimir 9/9 522
3822B1FI2 shkurinskaya_elena 9/9 540
3822B1FI2 yasakova_tanya 9/9 545

Passed: 7

3822B1FI3

Group Name Passed Score
3822B1FI3 agafeev_sergey 9/9 498
3822B1FI3 budazhapova_ekaterina 9/9 486
3822B1FI3 kholin_kirill 3/9 189
3822B1FI3 kirill_kholin 9/9 547
3822B1FI3 koshkin_nikita 9/9 511
3822B1FI3 kudryashova_irina 9/9 537
3822B1FI3 lavrentyev_alexey 9/9 526
3822B1FI3 solovyev_danila 9/9 510

Passed: 7

3822B1PE1

Group Name Passed Score
3822B1PE1 belov_artem 9/9 368
3822B1PE1 ermilova_darya 9/9 363
3822B1PE1 gnitienko_kirill 9/9 360
3822B1PE1 kalyakina_anastasia 9/9 308
3822B1PE1 kapustin_ivan 9/9 278
3822B1PE1 khasanyanov_kirill 9/9 351
3822B1PE1 konstantinov_ilya 9/9 407
3822B1PE1 korablev_vladlen 9/9 414
3822B1PE1 korneeva_ekaterina 9/9 270
3822B1PE1 koshkin_matvey 9/9 177
3822B1PE1 krylov_mikhail 9/9 450
3822B1PE1 milovankin_maxim 9/9 431
3822B1PE1 moiseev_artem 9/9 465
3822B1PE1 morozov_egor 9/9 303
3822B1PE1 nikolaev_roman 9/9 358
3822B1PE1 odintsov_misha 9/9 286
3822B1PE1 polikanov_vitaliy 9/9 292
3822B1PE1 rams_sergei 9/9 465
3822B1PE1 sadikov_ivan 9/9 389
3822B1PE1 shvedova_vitalina 9/9 424
3822B1PE1 sidorina_polina 9/9 287
3822B1PE1 sorochkin_danila 9/9 254
3822B1PE1 tyurin_mikhail 9/9 394
3822B1PE1 vasilev_sergey 9/9 267
3822B1PE1 vedernikova_kseniya 9/9 266
3822B1PE1 vershinina_alexandra 9/9 283
3822B1PE1 voroshilov_vitaliy 9/9 188
3822B1PE1 zaitsev_artem 9/9 226

Passed: 28

3822B1PE2

Group Name Passed Score
3822B1PE2 chernova_natalia 9/9 348
3822B1PE2 ermolaev_vladislav 9/9 464
3822B1PE2 filatiev_vladislav 9/9 393
3822B1PE2 filatieva_elizaveta 9/9 383
3822B1PE2 fyodorov_matthew 5/9 193
3822B1PE2 gusev_nikita 9/9 369
3822B1PE2 kalinin_dmitry 9/9 385
3822B1PE2 kavtorev_dmitry 9/9 379
3822B1PE2 kondratev_yaroslav 9/9 425
3822B1PE2 korovin_nikita 9/9 469
3822B1PE2 matynina_aleksandra 9/9 337
3822B1PE2 mukhina_margarita 9/9 442
3822B1PE2 muradov_mike 9/9 426
3822B1PE2 naumov_bogdan 9/9 270
3822B1PE2 petrov_artem 9/9 272
3822B1PE2 pikarychev_ilya 9/9 372
3822B1PE2 sorokin_andrey 9/9 403
3822B1PE2 strakhov_andrey 9/9 319
3822B1PE2 titov_semyon 9/9 457
3822B1PE2 varfolomeev_gregory 9/9 380
3822B1PE2 vladimirova_julia 9/9 380
3822B1PE2 zaytsev_denis 9/9 311
3822B1PE2 zolotareva_arina 9/9 437

Passed: 22

3822B1PE3

Group Name Passed Score
3822B1PE3 chernykh_andrey 9/9 525
3822B1PE3 ersoz_berke_eren 9/9 470
3822B1PE3 kazunin_nikita 9/9 527
3822B1PE3 malyshev_anton 9/9 486
3822B1PE3 mironov_ilya 9/9 499
3822B1PE3 oturin_alexander 9/9 545
3822B1PE3 sarafanov_maxim 9/9 519
3822B1PE3 sotskov_andrey 9/9 533

Passed: 8

3822B1PE4

Group Name Passed Score
3822B1PE4 fomin_vladimir 9/9 455
3822B1PE4 ghanga_junior 9/9 457
3822B1PE4 karaseva_ekaterina 9/9 495
3822B1PE4 kolokolova_darya 9/9 489
3822B1PE4 konkov_ivan 9/9 430
3822B1PE4 kovalchuk_alexander 9/9 453
3822B1PE4 muradov_kamal 9/9 444
3822B1PE4 podovinnikov_artyom 9/9 517
3822B1PE4 prokhohov_nikita 1/9 40
3822B1PE4 prokhorov_nikita 9/9 424
3822B1PE4 salaev_vladislav 9/9 466
3822B1PE4 shuravina_oksana 9/9 510
3822B1PE4 vragov_ivan 9/9 445
3822B1PE4 zinoviev_alexander 9/9 497

Passed: 13

Total Passed: 92


*Maximum Score: 576 (64 per task) *

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages