Skip to content

Instantly share code, notes, and snippets.

View itzmeanjan's full-sized avatar
😎
Working ...

Anjan Roy itzmeanjan

😎
Working ...
View GitHub Profile
@itzmeanjan
itzmeanjan / test_montgomery_arithmetic.py
Last active August 5, 2022 18:04
Montgomery Modular Arithmetic for 256 -bit `secp256k1` Prime Field
#!/usr/bin/python3
from math import ceil
from typing import List, Tuple
from random import randint
def bit_count(num: int) -> int:
'''
Same as len(bin(num)[2:])
@itzmeanjan
itzmeanjan / determinant.py
Last active October 21, 2021 03:52
Computing Determinant of Square Matrix using Condensation Method
#!/usr/bin/python3
import numpy as np
from copy import deepcopy
from functools import reduce
from time import time
N = 1 << 8
'''
@itzmeanjan
itzmeanjan / cholesky_factorization.cpp
Created October 18, 2021 14:48
👽 Parallel Cholesky Factorization targeting Accelerators, using SYCL DPC++ 🔥
#include <CL/sycl.hpp>
#include <chrono>
#include <iostream>
#include <random>
using namespace sycl;
const uint N = 1 << 10;
const uint B = 1 << 5;
const float MULT_FACTOR = .5f;
@itzmeanjan
itzmeanjan / improved_lu_decomposition.cpp
Last active October 15, 2021 06:36
🏃‍♂️ Fast, Parallel LU Factorization, using SYCL DPC++ 🏅
#include <CL/sycl.hpp>
#include <chrono>
#include <iostream>
#include <random>
using namespace sycl;
constexpr uint N = 1 << 10;
constexpr uint B = 1 << 6;
@itzmeanjan
itzmeanjan / lu_decomposition.cpp
Last active October 11, 2021 05:43
✨ Parallel LU Decomposition on GPGPU, using SYCL DPC++ 🔆
#include <CL/sycl.hpp>
#include <chrono>
#include <iostream>
#include <random>
using namespace sycl;
constexpr uint N = 1 << 10;
constexpr uint B = 1 << 5;
@itzmeanjan
itzmeanjan / fft.cpp
Last active October 1, 2021 02:10
🤞 Parallel (inv)FFT on GPGPU, using SYCL DPC++ 🚀
#include <CL/sycl.hpp>
#include <chrono>
#include <complex>
#include <iostream>
using namespace sycl;
typedef std::complex<double> cmplx;
constexpr uint N = 1024;
constexpr uint B = 32;
@itzmeanjan
itzmeanjan / dft.cpp
Last active November 17, 2021 14:34
⭐️ Parallel DFT on GPGPU, using SYCL DPC++ 🔥
#include <CL/sycl.hpp>
#include <chrono>
#include <complex>
#include <iostream>
using namespace sycl;
typedef std::complex<double> cmplx;
constexpr uint N = 1 << 10;
constexpr uint B = 1 << 5;
@itzmeanjan
itzmeanjan / gauss_jordan.cpp
Created September 27, 2021 11:13
🔥 Solving System of Linear Equations on GPGPU, using SYCL DPC++ ( GAUSS-JORDAN Method ) 👌
#include <CL/sycl.hpp>
#include <chrono>
#include <iostream>
#include <random>
using namespace sycl;
constexpr uint N = 1024;
constexpr uint B = 32;
@itzmeanjan
itzmeanjan / mat_mul.cpp
Created September 23, 2021 11:41
✅ Large Scale Parallel Matrix Multiplication, in multiple ways, using SYCL DPC++ 😎
#include <CL/sycl.hpp>
#include <chrono>
#include <iostream>
using namespace sycl;
constexpr uint N = 1024;
constexpr uint B = 32;
int64_t multiply_matrix_matrix_v0(queue &q, const float *matrix_a,
@itzmeanjan
itzmeanjan / julia_set.cpp
Last active September 19, 2021 09:45
😎 Computing Julia Set on CPU + GPGPU, using SYCL DPC++ 🚀
#include <CL/sycl.hpp>
#include <chrono>
#include <iostream>
using namespace sycl;
namespace ts = std::chrono;
constexpr uint N = 512;
constexpr uint B = 4;