Skip to content
This repository was archived by the owner on Feb 2, 2024. It is now read-only.

Commit bcef9c0

Browse files
author
Ehsan Totoni
committed
docs push html
1 parent 6f1ed20 commit bcef9c0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+15533
-0
lines changed

docs/.nojekyll

Whitespace-only changes.
1.22 MB
Binary file not shown.

docs/_build/doctrees/index.doctree

3.1 KB
Binary file not shown.
6.54 KB
Binary file not shown.
6.89 KB
Binary file not shown.
50.5 KB
Binary file not shown.

docs/_build/html/.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 7e92f68e7de450dabf122e0b9219a2a0
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/_build/html/.nojekyll

Whitespace-only changes.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.. HPAT documentation master file, created by
2+
sphinx-quickstart on Wed Sep 6 09:29:19 2017.
3+
You can adapt this file completely to your liking, but it should at least
4+
contain the root `toctree` directive.
5+
6+
HPAT documentation
7+
================================
8+
9+
.. toctree::
10+
:maxdepth: 2
11+
:caption: Contents:
12+
13+
source/overview
14+
source/supported
15+
source/notsupported
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
.. _notsupported:
2+
3+
Not Supported Python Programs
4+
=============================
5+
6+
HPAT statically compiles user codes to generate efficient parallel programs.
7+
Hence, the user code needs to be `statically compilable`.
8+
This means that HPAT should be able to infer all the variable types, and be able
9+
to analyze the computations.
10+
11+
Type Stability
12+
--------------
13+
14+
To enable type inference, the program should be `type stable`, which means every
15+
variable should have a single type. The example below is not type stable since
16+
variable ``a`` can be both a float and an array of floats::
17+
18+
if flag:
19+
a = np.ones(10)
20+
else:
21+
a = 1.0
22+
23+
The use of ``isinstance`` operator of Python often means type instabillity and
24+
is not supported.
25+
26+
Similarly, function calls should also be deterministic. The below example is
27+
not supported since function ``f`` is not known in advance::
28+
29+
if flag:
30+
f = np.ones
31+
else:
32+
f = np.random.ranf
33+
A = f(10)
34+
35+
One can usually avoid these cases in numerical code without significant effort.

0 commit comments

Comments
 (0)