Radioastronomiethumb|Le Very Large Array près de Socorro (Nouveau-Mexique) aux États-Unis : un interféromètre astronomique radio. La radioastronomie est une branche de l'astronomie traitant de l'observation du ciel dans le domaine des ondes radio. C'est une science relativement jeune qui est née dans les années 1930 mais qui n'a pris son essor que dans les années 1950/1960 avec la réalisation de grands instruments (Parkes, Greenbank, Arecibo, Jodrell Bank, Westerbork et Nançay).
Computational complexityIn computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem. The study of the complexity of explicitly given algorithms is called analysis of algorithms, while the study of the complexity of problems is called computational complexity theory.
Central processing unitA central processing unit (CPU)—also called a central processor or main processor—is the most important processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output (I/O) operations. This role contrasts with that of external components, such as main memory and I/O circuitry, and specialized coprocessors such as graphics processing units (GPUs). The form, design, and implementation of CPUs have changed over time, but their fundamental operation remains almost unchanged.
Astronomiethumb|350px|Nébuleuse M17 : photographie prise par le télescope Hubble. L'astronomie est la science de l'observation des astres, cherchant à expliquer leur origine, leur évolution, ainsi que leurs propriétés physiques et chimiques. Le terme astronomie vient du grec (de , « astre, étoile », et , « loi ») : la loi des astres. Avec plus de d'histoire, les origines de l'astronomie remontent au-delà de l'Antiquité dans les pratiques religieuses préhistoriques. L'astronomie est l'une des rares sciences où les amateurs jouent encore un rôle actif.
Radiotélescopethumb|Le Radiotélescope Very Large Array en configuration D. thumb|Le Radiotélescope Ryle à l'Université de Cambridge. thumb|RT-70. Un radiotélescope est un télescope spécifique utilisé en radioastronomie pour capter les ondes radioélectriques émises par les astres. Ces ondes radio, bien que plus ou moins prédites par certains physiciens comme Thomas Edison et Oliver Lodge, ne sont véritablement découvertes qu'au début des années 1930 par Karl Jansky lorsqu'il cherche l'origine de certaines interférences avec les transmissions radio terrestres.
Architecture matériellevignette|Architecture matérielle d'un processeur Intel Core2. vignette|Architecture matérielle d'un Cyclops64 (BlueGene/C). L’architecture matérielle décrit l’agencement interne de composants électroniques ainsi que leurs interactions. Le terme interne employé ici permet de bien faire la différence avec l’architecture (externe) de processeur (ou architecture de jeu d'instruction), qui s'intéresse à la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine.
Architecture de von NeumannL’architecture dite architecture de von Neumann est un modèle pour un ordinateur qui utilise une structure de stockage unique pour conserver à la fois les instructions et les données demandées ou produites par le calcul. De telles machines sont aussi connues sous le nom d’ordinateur à programme enregistré. La séparation entre le stockage et le processeur est implicite dans ce modèle. Cette architecture est appelée ainsi en référence au mathématicien John von Neumann, qui a élaboré en juin 1945 dans le cadre du projet EDVAC la première description d’un ordinateur dont le programme est stocké dans sa mémoire.
Classe de complexitéEn informatique théorique, et plus précisément en théorie de la complexité, une classe de complexité est un ensemble de problèmes algorithmiques dont la résolution nécessite la même quantité d'une certaine ressource. Une classe est souvent définie comme l'ensemble de tous les problèmes qui peuvent être résolus sur un modèle de calcul M, utilisant une quantité de ressources du type R, où n, est la taille de l'entrée. Les classes les plus usuelles sont celles définies sur des machines de Turing, avec des contraintes de temps de calcul ou d'espace.
Microarchitectureright|400px|thumb|La microarchitecture Core d'Intel right|400px|thumb|La microarchitecture Nehalem d'Intel La microarchitecture d'un processeur est un plan de ce processeur au niveau logique. Elle décrit, par exemple : le nombre de pipelines et leur longueur respective ; le nombre de mémoires cache et associativité respectives ; l'existence de renommage de registres ; d'une unité d'exécution out-of-order ; d'une unité de prédiction de branchement. Elle est également parfois appelée architecture, bien que ce terme ait d'autres sens différents en informatique.
Architecture de processeurUne architecture externe de processeur ou architecture de jeu d'instructions (ISA, de l'anglais instruction set architecture), ou tout simplement architecture (de processeur), est la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine. L'architecture comprend notamment la donnée d'un jeu d'instructions, d'un ensemble de registres visibles par le programmeur, d'une organisation de la mémoire et des entrées sorties, des modalités d'un éventuel support multiprocesseur, etc.
P (complexité)La classe P, aussi noté parfois PTIME ou DTIME(nO(1)), est une classe très importante de la théorie de la complexité, un domaine de l'informatique théorique et des mathématiques. Par définition, un problème de décision est dans P s'il est décidé par une machine de Turing déterministe en temps polynomial par rapport à la taille de l'entrée. On dit que le problème est décidé en temps polynomial. Les problèmes dans P sont considérés comme « faisables » (feasible en anglais), faciles à résoudre (dans le sens où on peut le faire relativement rapidement).
Théorie de la complexité (informatique théorique)vignette|Quelques classes de complexité étudiées dans le domaine de la théorie de la complexité. Par exemple, P est la classe des problèmes décidés en temps polynomial par une machine de Turing déterministe. La théorie de la complexité est le domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement le temps de calcul, l'espace mémoire (et plus marginalement la taille d'un circuit, le nombre de processeurs, l'énergie consommée ...) requis par un algorithme pour résoudre un problème algorithmique.
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
Parallélisme (informatique)vignette|upright=1|Un des éléments de Blue Gene L cabinet, un des supercalculateurs massivement parallèles les plus rapides des années 2000. En informatique, le parallélisme consiste à mettre en œuvre des architectures d'électronique numérique permettant de traiter des informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont pour but de réaliser le plus grand nombre d'opérations en un temps le plus petit possible.
Low (complexity)In computational complexity theory, a language B (or a complexity class B) is said to be low for a complexity class A (with some reasonable relativized version of A) if AB = A; that is, A with an oracle for B is equal to A. Such a statement implies that an abstract machine which solves problems in A achieves no additional power if it is given the ability to solve problems in B at unit cost. In particular, this means that if B is low for A then B is contained in A.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Optimisation de boucleIn compiler theory, loop optimization is the process of increasing execution speed and reducing the overheads associated with loops. It plays an important role in improving cache performance and making effective use of parallel processing capabilities. Most execution time of a scientific program is spent on loops; as such, many compiler optimization techniques have been developed to make them faster. Since instructions inside loops can be executed repeatedly, it is frequently not possible to give a bound on the number of instruction executions that will be impacted by a loop optimization.
Interférométrievignette|Le trajet de la lumière à travers un interféromètre de Michelson. Les deux rayons lumineux avec une source commune se combinent au miroir semi-argenté pour atteindre le détecteur. Ils peuvent interférer de manière constructive (renforcement de l'intensité) si leurs ondes lumineuses arrivent en phase, ou interférer de manière destructive (affaiblissement de l'intensité) s'ils arrivent en déphasage, en fonction des distances exactes entre les trois miroirs.
3D temps réelvignette|Rendu VR d'une rivière en 2000. La 3D temps réel qui concerne l'imagerie de synthèse, est une méthode de représentation de données tri-dimensionnelles pour laquelle chaque image composant l'animation est rendue dans l'instant qui précède son affichage. La 3D temps réel ne doit pas être confondue avec les effets stéréoscopiques (relief en trois dimensions, même s'il est possible de faire de la 3D temps réel en relief), ni avec un système temps réel pour lequel le respect des contraintes temporelles et au moins aussi important que le résultat.
Interféromètre astronomiqueUn interféromètre astronomique est un réseau de télescopes ou segments de miroirs qui agissent ensemble aux fins de détection avec une résolution plus grande, via l'interférométrie. L'avantage d'un interféromètre est que son pouvoir de résolution est le même que celui d'un télescope avec la même ouverture que s'il englobait tous les sous-composants de l'interféromètre. Le désavantage principal est qu'il ne collecte pas autant de photons, donc ce type d'instruments est surtout utile pour des objets plus lumineux, tels des étoiles binaires.