You are on page 1of 10

Hardware

CPU: --The CPU (Central Processing Unit) or the main processor executes
computing instructions. Attached to the motherboard via a CPU socket.
The CPU listens for input from a computer program or a peripheral such as a
keyboard, mouse, or touchpad.
GPU: --The GPU (Graphics Processing Unit) is a specialized graphics processor
designed to be able to process thousands of operations simultaneously.
Demanding 3D applications require parallel texture, mash, and light processing
to keep images moving smoothly across the screen, and the CPU architecture is
not optimized for those tasks.

FPGA-: A field-programmable gate array or FPGA is a logic chip that contains


a two-dimensional array of cells and programmable switches. Essentially,
they’re integrated circuits (ICs) that have an array of identical logic blocks with
programmable interconnections.
Architecture :
It consists of thousands of fundamental elements called Configurable Logic
Blocks (CLBs) which are surrounded by a system of programmable
interconnects known as a fabric, which directs signal between CLBs and I/O
blocks interface between the FPGA and external device.
Types of FPGA-:
Low-End FPGAs
They consume less power than the other two and are less complex as no of gates
are less.
Mid-Range FPGAs –
They consume more power than low-end FPGAs and have more number of
gates, so more complex. They provide a balance between performance and cost.
High-End FPGAs –
They have a large gate density, so are more complex than mid-range. Their
performance is better than low-end and mid-range FPGAs be Some High-End
FPGAs.
Advantages :
FPGAs provide better performance than a general CPU as they are capable of
handling parallel processing.
FPGAs are reprogrammable.
They are cost-efficient.
FPGAs allow you to finish the development of your product in a very short
time, so they are available in the market in a shorter time.
Disadvantages :
They have high power consumption and programmers do not have any control
over power optimization.
The programming of FPGA is not as simple as C programming.
They are only used where the production volume is low.
Applications :
FPGAs are used in defence equipment for image processing in SDRs, for ASIC
prototyping, for high-performance computers, in wireless communication such
as WiMAX, WCDMA, etc.

CUDA:-
CUDA is a programming language that uses the Graphical Processing Unit
(GPU). It is a parallel computing platform and an API (Application
Programming Interface) model, Compute Unified Device Architecture was
developed by Nvidia. This allows computations to be performed in parallel
while providing well-formed speed.
CUDA stands for Compute Unified Device Architecture. It is a
package(libraries) developed by Nvidia, specially for graphics
processing.
• These libraries can be used with C or C++.
• Cuda is specific to Nvidia; this means you can not use Cuda for
graphics cards(GPUs) of other companies like AMD or Intel.

Cuda components:---
Driver
low-level software that controls the graphics card
Toolkit (currently on version 12.3)
nvcc CUDA compiler
Nsight plugin for Eclipse or Visual Studio
profiling and debugging tools
lots of libraries
CUDA programming:::-
host code on the CPU which interfaces to the GPU
kernel code which runs on the GPU

CUDA Library:
cuBLAS, cuBLASxt, cuFFT, cuTENSOR, cuSPARSE, cuRAND, cuSOLVER, CUB, NCCL, cuDNN, nvGraph,
NPP
Local Memory
Each SP uses Local memory. All variables declared in a
kernel(a function to be executed on GPU) are saved into Local
memory.
• Registers
Kernel may consist of several expressions. During
execution of an expression, values are saved into the Registers of
SP.
• Global Memory
It is the main memory of GPU. Whenever a memory
from GPU is allocated for variables by using Cuda Malloc() function,
by default, it uses global memory.
• Shared Memory
On one SP, one or more threads can be run. A
collection of threads is called a Block. On one SM, one or more
blocks can be run. Advantage of Shared memory is, it is shared
by all the threads in one block.

CUDA –X – AI libraries

Math Libraries
Image and Video Libraries
Deep Learning
Parallel Algorithms
Communication Libraries
Partner Libraries

ASIC:--

ASIC stands for Application-Specific Integrated Circuit. It is a type of


integrated circuit (IC) that is designed for a specific application or
purpose, rather than for general-purpose use. Here are some key
characteristics of ASICs: Custom Design: ASICs are custom-designed for
specific applications.

Full Custom ASICs: Designed from scratch for a specific application without
using pre-designed components.
Semi-Custom ASICs: Based on pre-designed and pre-verified blocks known as
standard cells and gate arrays. They offer a balance between customization and
development time and cost.
Programmable ASICs: Include Field-Programmable Gate Arrays (FPGAs) that
can be programmed by the customer or designer after manufacturing.

Advantages of ASICs

Performance: Optimized to perform specific tasks efficiently.


Power Consumption: Lower power usage compared to general-purpose
processors due to optimization.
Size: Smaller physical size because they contain only the components necessary
for the specific application.
Cost: For high-volume production, the per-unit cost is lower than that of
equivalent functionality built with other types of components.

Disadvantages of ASICs

Development Cost and Time: High initial development cost and time due to
the custom design process.
Inflexibility: Once manufactured, an ASIC's functionality cannot be changed or
updated easily.
Risk: Higher risk due to the upfront investment and the inability to modify the
circuit once produced.
RAPID AI:--

Rapid AI refers to methodologies and technologies that enable quick


development and deployment of AI models.
It often involves using pre-built models, automated machine learning (Auto
ML) platforms, and AI as a Service (AIaaS) to accelerate the AI development
lifecycle.

Key Components:

Automated Machine Learning (Auto ML): Tools that automate the process of
applying machine learning to real-world problems.
Pre-trained Models: AI models developed on large datasets available for
specific tasks like image recognition, natural language processing, etc.
Cloud Computing: Cloud services provide the necessary computational power
and storage, facilitating the rapid deployment of AI models.
Model Repositories: Publicly or privately hosted libraries of AI models that
can be reused and adapted for new applications.
AI Platforms: Platforms like Azure AI, Google AI, and IBM Watson offer
integrated tools and services for developing AI solutions.

Benefits:

Speed: Significantly reduces the time from concept to deployment.


Cost-Efficiency: Lowers development costs by using pre-built models and
cloud computing resources.
Accessibility: Makes AI more accessible to organizations without deep AI
expertise.
Innovation: Encourages experimentation and innovation by lowering the
barrier to entry for AI projects.

Applications:

Business Intelligence: Rapid development of models for predictive analytics


and customer insights.
Healthcare: Quick deployment of diagnostic tools and personalized medicine
applications.
Manufacturing: Real-time monitoring and predictive maintenance of
equipment.
Retail: Personalization engines for shopping recommendations.

Thunder SVM

Support Vector Machines (SVMs) are classic supervised learning models for
classification, regression and distribution estimation.
SVM training and prediction are very expensive computationally for large and
complex problems.

Thunder svm:- Thunder SVM which exploits the high-performance of Graphics


Processing Units (GPUs) and multi-core CPUs. Thunder SVM supports all the
functionalities--including classification (SVC), regression (SVR) and one-class
SVMs--of Lib SVM and uses identical command line options, such that existing
Lib SVM users can easily apply our toolkit. Thunder SVM can be used through
multiple language interfaces including C/C++, Python, R and MATLAB.

Code:-
from thundersvm import SVC
clf = SVC()
clf.fit(x, y)

“Thunder SVM” which supports all the functionalities of Lib SVM.


When running purely on CPUs, Thunder SVM is often 10 times faster than
Lib SVM. We hope this significant efficiency improvement would help
practitioners in the
community quickly solve their problems and enable SVMs to solve more
complex problems.
Elaborate CPU GPU SVM IN DIAGRAM.

You might also like