From e77f8a4ce1254e96af33ece219f9c9da8d98a834 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Sat, 12 Sep 2026 15:08:53 +1000 Subject: [PATCH 1/4] Update translation: lectures/need_for_speed.md --- lectures/need_for_speed.md | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/lectures/need_for_speed.md b/lectures/need_for_speed.md index aa2b688..7644694 100644 --- a/lectures/need_for_speed.md +++ b/lectures/need_for_speed.md @@ -36,14 +36,6 @@ translation: --- (speed)= -```{raw} jupyter -
- - QuantEcon - -
-``` - # Python pour le calcul scientifique ```{epigraph} @@ -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 : @@ -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 @@ -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. @@ -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 @@ -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. @@ -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. @@ -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 ? @@ -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. @@ -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 ` ```{index} single: Python; Vectorization @@ -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 @@ -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 @@ -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. @@ -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é. @@ -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. @@ -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 @@ -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 @@ -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. \ No newline at end of file +gamme d'applications économiques. From 698fc2dc5c60a79f794c2c47c735ff8ef62b29c7 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Sat, 12 Sep 2026 15:08:54 +1000 Subject: [PATCH 2/4] Update translation: .translate/state/need_for_speed.md.yml --- .translate/state/need_for_speed.md.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.translate/state/need_for_speed.md.yml b/.translate/state/need_for_speed.md.yml index 31681e5..5235dbd 100644 --- a/.translate/state/need_for_speed.md.yml +++ b/.translate/state/need_for_speed.md.yml @@ -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 From fa2c25d39d15ac8966ab6dcd6b58c724a22a7766 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Sat, 12 Sep 2026 15:08:55 +1000 Subject: [PATCH 3/4] Update translation: lectures/polars.md --- lectures/polars.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lectures/polars.md b/lectures/polars.md index c797e42..f798d4e 100644 --- a/lectures/polars.md +++ b/lectures/polars.md @@ -29,14 +29,6 @@ translation: --- (pl)= -```{raw} jupyter - -``` - # Polars ```{index} single: Python; Polars From e066ed8356dafc6051f4eaa228ae8e2aef071bfc Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Sat, 12 Sep 2026 15:08:55 +1000 Subject: [PATCH 4/4] Update translation: .translate/state/polars.md.yml --- .translate/state/polars.md.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.translate/state/polars.md.yml b/.translate/state/polars.md.yml index 81b3af0..9e7bec0 100644 --- a/.translate/state/polars.md.yml +++ b/.translate/state/polars.md.yml @@ -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