Yujia Zhai's repositories
apple-opencl-fft
A crude Linux port of the Apple OpenCL FFT
cpu_gemm_opt
how to design cpu gemm on x86 with avx256, that can beat openblas.
CryptoNets
CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with Homomorphic Encryption. Homomorphic Encryptions allow performing operations such as addition and multiplication over data while it is encrypted. Therefore, it allows keeping data private while outsourcing computation (see here and here for more about Homomorphic Encryptions and its applications). This project demonstrates the use of Homomorphic Encryption for outsourcing neural-network predictions. The scenario in mind is a provider that would like to provide Prediction as a Service (PaaS) but the data for which predictions are needed may be private. This may be the case in fields such as health or finance. By using CryptoNets, the user of the service can encrypt their data using Homomorphic Encryption and send only the encrypted message to the service provider. Since Homomorphic Encryptions allow the provider to operate on the data while it is encrypted, the provider can make predictions using a pre-trained Neural-Network while the data remains encrypted throughout the process and finaly send the prediction to the user who can decrypt the results. During the process the service provider does not learn anything about the data that was used, the prediction that was made or any intermediate result since everything is encrypted throughout the process. This project uses the Simple Encrypted Arithmetic Library SEAL version 3.2.1 implementation of Homomorphic Encryption developed in Microsoft Research.
icc-travis
Script to help install Intel C/C++ Compiler on Travis CI.
math-atlas
Automatically Tuned Linear Algebra Software (ATLAS)
memory-bandwidth-demo
An attempt at achieving the theoretical best memory bandwidth of my machine.
Twitter-Fraud-User-Identification
cs235 course assignment