Je travaille dans le domaine de la science informatique et, par conséquent, je passe une bonne partie de mon temps à essayer d’accroître le débit scientifique de nombreux codes, ainsi qu’à en comprendre l’efficacité. Supposons que j’ai évalué le compromis performance / lisibilité / réutilisabilité / maintenabilité du logiciel sur …
Dans mes cours d’analyse numérique, j’ai appris à analyser l’efficacité des algorithmes en comptant le nombre d’opérations à virgule flottante (flops) qu’ils requièrent, par rapport à l’ampleur du problème. Par exemple, dans le texte de Trefethen & Bau sur l'algèbre linéaire numérique, il y a même des images en 3D …
Fortran occupe une place particulière dans la programmation numérique. Vous pouvez certes créer de bons logiciels rapides dans d’autres langues, mais Fortran continue de très bien fonctionner malgré son âge. De plus, il est plus facile de créer des programmes rapides en Fortran. J'ai créé des programmes rapides en C …
Je comparais quelques-uns de mes codes avec les codes MATLAB "en stock". Je suis surpris des résultats. J'ai couru un exemple de code (Sparse Matrix) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc; disp('Inv(A)*B'); tic;inv(a)*b;toc; Résultats : For a\b …
ATLAS est un remplacement BLAS / LAPACK gratuit qui s'accorde à la machine une fois compilé. MKL est la bibliothèque commerciale fournie par Intel. Ces deux bibliothèques sont-elles comparables en termes de performances, ou MKL a-t-il le dessus pour certaines tâches? Si oui, lesquels?
Contexte: Je pense que je pourrais vouloir porter du code qui calcule les produits matriciels à vecteur exponentiel en utilisant une méthode de sous-espace Krylov de MATLAB à Python. (Plus précisément, la fonction expmvp de Jitse Niesen , qui utilise un algorithme décrit dans cet article .) Cependant, je sais …
Supposons que je travaille sur un code scientifique en C ++. Lors d'une récente discussion avec un collègue, il a été avancé que les modèles d'expression pouvaient être une très mauvaise chose, rendant potentiellement le logiciel compilable uniquement sur certaines versions de gcc. Soi-disant, ce problème a affecté quelques codes …
Quelle est l'approche préférée et efficace pour interpoler des données multidimensionnelles? Choses qui m'inquiètent: performances et mémoire pour la construction, évaluation unique / batch dimensions de manipulation de 1 à 6 linéaire ou d'ordre supérieur pouvoir obtenir des gradients (sinon linéaires) grille régulière vs dispersée utilisant comme fonction d'interpolation, par …
Je vais commencer par mon expérience personnelle dans notre laboratoire. Dans les ifort 9 et 10 jours, nous avions l'habitude d'être assez agressifs avec les optimisations, en compilant avec -O3 et des drapeaux spécifiques au processeur (-xW -xSSE4.2 par exemple). Mais à partir d'ifort 11, nous avons commencé à remarquer: …
Comment les tableaux Python / Numpy évoluent-ils avec des dimensions de tableau croissantes? Ceci est basé sur un comportement que j'ai remarqué lors de l'analyse comparative du code Python pour cette question: Comment exprimer cette expression compliquée à l'aide de tranches numpy Le problème concernait principalement l'indexation pour remplir un …
Existe-t-il une méthode pour résoudre systèmes linéaires de la forme où est une matrice SPD fixe et sont des matrices diagonales positives?k ( D i + A ) x i = b i A D iO ( n3+ n2k )O(n3+n2k)O(n^3+n^2 k)kkk( Dje+ A ) xje= bje(réje+UNE)Xje=bje(D_i + A) x_i = …
Lorsque des calculs limités en bande passante mémoire sont effectués dans des environnements de mémoire partagée (par exemple, filetés via OpenMP, Pthreads ou TBB), il existe un dilemme sur la façon de garantir que la mémoire est correctement répartie sur la mémoire physique , de sorte que chaque thread accède …
Le langage C ++ fournit une programmation générique et une métaprogrammation via des modèles. Ces techniques ont trouvé leur chemin dans de nombreux progiciels de calcul scientifique à grande échelle (par exemple, MPQC , LAMMPS , CGAL , Trilinos ). Mais qu'est-ce qu'ils ont réellement contribué au calcul scientifique en …
Je recherche une implémentation open source (n'importe laquelle de Python, C, C ++, Fortran est très bien) d'approximation rationnelle d'une fonction. Quelque chose le long de l'article [1]. Je lui donne une fonction et ça me rend deux polynômes, dont le rapport est l'approximation sur l'intervalle donné et l'erreur oscille …
Je compare deux méthodes itératives pour inverser des matrices carrées aléatoires. Étant donné que les matrices sont aléatoires, chaque cas de test prend à la fois différentes quantités d'itérations et différents temps écoulés. Ma question est, en plus du temps CPU moyen, est la valeur moyenne des itérations prises par …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.