Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .translate/state/need_for_speed.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 06af1a96c7a831653842bc655bbff3192f0b6f82
synced-at: "2026-07-14"
model: claude-opus-4-8
mode: NEW
source-sha: 69ce7e5fd6dba5924d2e148742be60f81c205934
synced-at: "2026-09-12"
model: claude-sonnet-5
mode: UPDATE
section-count: 5
tool-version: 0.15.0
tool-version: 0.28.0
6 changes: 3 additions & 3 deletions .translate/state/polars.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 55c87c9fdbdb522866c5b6bbdc65c073941d7f16
synced-at: "2026-08-18"
source-sha: 69ce7e5fd6dba5924d2e148742be60f81c205934
synced-at: "2026-09-12"
model: claude-sonnet-5
mode: UPDATE
section-count: 6
tool-version: 0.26.0
tool-version: 0.28.0
32 changes: 1 addition & 31 deletions lectures/need_for_speed.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,6 @@ translation:
---

(speed)=
```{raw} jupyter
<div id="qe-notebook-header" align="right" style="text-align:right;">
<a href="https://quantecon.org/" title="quantecon.org">
<img style="width:250px;display:inline;" width="250px" src="https://assets.quantecon.org/img/qe-menubar-logo.svg" alt="QuantEcon">
</a>
</div>
```

# Python pour le calcul scientifique

```{epigraph}
Expand Down Expand Up @@ -92,12 +84,10 @@ import matplotlib.pyplot as plt
import random
```


## Principales bibliothèques scientifiques

Passons brièvement en revue les bibliothèques scientifiques de Python.


### Pourquoi en avons-nous besoin ?

Nous avons besoin des bibliothèques scientifiques de Python pour deux raisons :
Expand Down Expand Up @@ -125,7 +115,6 @@ Les bibliothèques scientifiques accélèrent l'exécution en utilisant trois st

Nous discuterons de ces idées en profondeur ci-dessous.


### L'écosystème scientifique de Python

À QuantEcon, les bibliothèques scientifiques que nous utilisons le plus souvent sont
Expand All @@ -152,7 +141,6 @@ Voici comment elles s'articulent :

Nous discuterons de toutes ces bibliothèques en détail dans cette série de cours.


## Pourquoi le Python pur est-il lent ?

Comme mentionné ci-dessus, le code numérique écrit en Python pur est relativement lent.
Expand Down Expand Up @@ -204,7 +192,6 @@ Cela implique un surcoût.

Si nous exécutons cette expression de manière répétée dans une boucle serrée, le surcoût devient important.


#### Types statiques

```{index} single: Static Types
Expand Down Expand Up @@ -239,7 +226,6 @@ De ce fait, la signification de l'addition dans l'expression `sum + i` est total

Il n'y a pas besoin de vérification de type et donc pas de surcoût.


### Accès aux données

Un autre frein à la vitesse pour les langages de haut niveau est l'accès aux données.
Expand All @@ -258,7 +244,6 @@ De plus, le type de données est connu au moment de la compilation.
Ainsi, chaque point de données successif peut être accédé en avançant dans l'espace mémoire
d'une quantité connue et fixe.


#### Sommation en Python pur

Python essaie de reproduire ces idées dans une certaine mesure.
Expand All @@ -272,7 +257,6 @@ Ainsi, il y a toujours un surcoût impliqué dans l'accès aux valeurs de donné

Un tel surcoût est un coupable majeur en ce qui concerne l'exécution lente.


### Résumé

La discussion ci-dessus signifie-t-elle que nous devrions simplement passer à C ou Fortran pour tout ?
Expand All @@ -291,8 +275,6 @@ synonyme de parallélisation.

Cette tâche est mieux laissée aux compilateurs spécialisés !



## Accélérer Python

Dans cette section, nous examinons trois techniques connexes pour accélérer le code Python.
Expand All @@ -301,8 +283,6 @@ Ici, nous nous concentrerons sur les idées fondamentales.

Plus tard, nous examinerons des bibliothèques spécifiques et comment elles implémentent ces idées.



### {index}`Vectorisation <single: Vectorization>`

```{index} single: Python; Vectorization
Expand Down Expand Up @@ -341,7 +321,6 @@ L'idée de la vectorisation remonte à MATLAB, qui utilise la vectorisation de m

NumPy utilise un modèle similaire, inspiré de MATLAB


### Vectorisation vs boucles Python pures

Essayons une comparaison rapide de vitesse pour illustrer comment la vectorisation peut
Expand Down Expand Up @@ -407,9 +386,6 @@ Dans les cours ultérieurs de cette série, nous apprendrons comment les bibliot
Python modernes exploitent les compilateurs juste-à-temps pour générer du code machine rapide, efficace et
parallélisé.




## Parallélisation

La croissance de la fréquence d'horloge des CPU (c'est-à-dire la vitesse à laquelle une seule chaîne logique
Expand All @@ -431,13 +407,11 @@ Ci-dessous, nous discutons de la parallélisation pour le calcul scientifique, e
1. les outils de parallélisation en Python et
1. comment ces outils peuvent être appliqués à des problèmes économiques quantitatifs.


### Parallélisation sur les CPU

Passons en revue les deux principaux types de parallélisation basée sur les CPU couramment utilisés dans
le calcul scientifique et discutons de leurs avantages et inconvénients.


#### Multithreading

Le multithreading signifie exécuter plusieurs threads d'exécution au sein d'un seul processus.
Expand All @@ -454,7 +428,6 @@ Les fonctions importées de ces bibliothèques et le code compilé en JIT s'exé
d'exécution de bas niveau où les restrictions héritées de Python ne s'appliquent pas.
```


#### Multiprocessing

Le multiprocessing signifie exécuter plusieurs processus indépendants, chacun avec son propre espace mémoire séparé.
Expand All @@ -463,7 +436,6 @@ Comme la mémoire n'est pas partagée, les processus communiquent en s'échangea

Le multiprocessing peut s'exécuter sur une seule machine ou être distribué sur un cluster de machines connectées par un réseau.


#### Que devrions-nous utiliser ?

Pour le travail numérique sur une seule machine, le multithreading est généralement préféré --- il est léger et le modèle de mémoire partagée est très pratique.
Expand All @@ -472,7 +444,6 @@ Le multiprocessing devient important lors du passage à l'échelle au-delà d'un

Pour la grande majorité de ce que nous faisons dans ces cours, le multithreading suffira.


### Accélérateurs matériels

Une source de parallélisme plus spectaculaire provient d'accélérateurs matériels
Expand Down Expand Up @@ -503,7 +474,6 @@ données, les GPU peuvent être plusieurs ordres de grandeur plus rapides que le
Les **TPU** (Tensor Processing Units, unités de traitement tensoriel), conçus par Google pour l'apprentissage automatique,
suivent une philosophie similaire, en optimisant pour des opérations matricielles parallèles massives.


### Accéder aux ressources GPU

De nombreuses stations de travail et ordinateurs portables sont désormais équipés de GPU performants, et un seul
Expand All @@ -523,4 +493,4 @@ Avec un logiciel approprié, les calculs peuvent être distribués sur plusieurs
que ce soit au sein d'un seul serveur ou sur un cluster.

Nous explorerons le calcul GPU plus en détail dans les cours ultérieurs, en l'appliquant à une
gamme d'applications économiques.
gamme d'applications économiques.
8 changes: 0 additions & 8 deletions lectures/polars.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,6 @@ translation:
---

(pl)=
```{raw} jupyter
<div id="qe-notebook-header" align="right" style="text-align:right;">
<a href="https://quantecon.org/" title="quantecon.org">
<img style="width:250px;display:inline;" width="250px" src="https://assets.quantecon.org/img/qe-menubar-logo.svg" alt="QuantEcon">
</a>
</div>
```

# Polars

```{index} single: Python; Polars
Expand Down
Loading