AI + GPU

Deep Neural Network in GPU

I have been developing a neural network API for GPUs. It is based on CUDA technology and I tried to exploit the full potential of the computer.

Most of us, do not know the real potential of GPUs in AI. This kind of hardware is specialized in logical operations and it was used by the industry of engines and videogames. Some years ago, we have experienced a ‘boom’ in graphics cards, the improvement in speed, price and the ease of programming had triggered a new mother-lode.

GPUs provide a bunch of parallelism algorithms to improve performance.

As we know, neural networks use matrix-to-matrix and matrix-to-vector operations. We can take advance in the optimization of them. Unfortunately, feed-forward and backpropagation are linear functions, they can neither be optimized nor parallelized.

    \[Output=\sigma(W*\sigma(...\sigma(W*Input+Bias)...)+Bias)\]

Continue reading “AI + GPU”

LiDAR: Autonomous Car

LiDAR implementation in self-driving cars

LiDAR (Light Imaging, Direction And Ranging) is a method that measures the distance to a target by illuminating the target with pulsed laser light and measuring the reflected pulses with a sensor. Autonomous cars take advantage of this new technology.

Continue reading “LiDAR: Autonomous Car”

Chemistry Studio 2019 ©

Molecular Chemistry Simulator & Editor

This application allows you to create molecules with bonds between atoms. There is no need a further background in chemistry, it has an intuitive user interface and only a few instructions of use:

  • New: This creates a new molecule.
  • Add: adds new atom to the atom selected.
  • Atom Type: enable you to select atoms in a wide variety of them.
  • Delete: deletes the molecule.

Continue reading “Chemistry Studio 2019 ©”

RSA Algorithm

RSA encryption and decryption algorithm and implementation in C++

RSA is an algorithm used by modern computers to encrypt and decrypt messages. Modern encryption is mostly based on this algorithm.

It is an asymmetric cryptographic algorithm.

Asymmetric means that there are two different keys. This is also called public key cryptography because one of the keys can be given to anyone. The other key must be kept private, Elliptic curve algorithm uses asymmetric cryptography also.

The algorithm is based on the fact that finding the factors of a large composite number is difficult: when the integers are prime numbers, the problem is called prime factorization. It is also a key pair (public and private key) generator.

Continue reading “RSA Algorithm”

Modern Cryptography

Cryptography introduction and different fields

Ancestors had the necessity to transmit information that could not be shared with the rest of the people, although messages may be intercepted and that was the beginnings of cryptography.

Encryption: conversion of information from a readable state to apparent nonsense.

The cryptography literature often uses the names Alice and Bob, who want to transmit information that could not be translated even being intercepted by a third party, Eve.

Continue reading “Modern Cryptography”