


Le premier langage GPU de haut niveau, le parallélisme massif, c'est comme écrire Python, a reçu 8 500 étoiles
Après près de 10 ans d'efforts inlassables et de recherches approfondies sur le cœur de l'informatique, les gens ont enfin réalisé un rêve : exécuter des langages de haut niveau sur des GPU.
Le week-end dernier, un langage de programmation appelé Bend a suscité de vives discussions au sein de la communauté open source, et le nombre d'étoiles sur GitHub a dépassé les 8 500.
GitHub : https://github.com/HigherOrderCO/Bend
En tant que langage de programmation de haut niveau massivement parallèle, il est encore au stade de la recherche, mais les idées proposées ont déjà convaincu les gens Je me sens très... surpris. Avec Bend, vous pouvez écrire du code parallèle pour les CPU/GPU multicœurs sans avoir besoin d'être un expert C/CUDA avec 10 ans d'expérience, cela ressemble à Python !
Oui, Bend utilise la syntaxe Python.
Bend est un paradigme de programmation qui prend en charge les langages expressifs tels que Python et Haskell. Il est différent des alternatives de bas niveau telles que CUDA et Metal. Bend propose une allocation rapide des objets, une prise en charge complète de la fermeture pour les fonctions d'ordre supérieur, une récursivité illimitée et une accélération quasi linéaire basée sur le nombre de cœurs. Bend fonctionne sur du matériel massivement parallèle et fournit une prise en charge de l'exécution basée sur HVM2.
Le principal contributeur du projet, Victor Taelin, est originaire du Brésil. Il a partagé les principales fonctionnalités et idées de développement de Bend sur la plateforme X.
Tout d'abord, Bend n'est pas adapté aux algorithmes d'apprentissage automatique modernes, car ces algorithmes sont hautement régularisés (multiplication matricielle) et ont une mémoire pré-alloué, et généralement de bons noyaux CUDA sont déjà écrits.
L'énorme avantage de Bend réside dans les applications pratiques, car les "vraies applications" n'ont généralement pas le budget nécessaire pour créer des cœurs GPU dédiés. Question, qui a créé le site Web dans CUDA ? Et même si quelqu'un le faisait, ce serait irréalisable car :
1. Une vraie application devrait importer des fonctions de nombreuses bibliothèques différentes et il n'y a aucun moyen d'écrire des noyaux CUDA pour elles
2. avoir des fonctions et des fermetures dynamiques ;
3. Les applications réelles allouent de grandes quantités de mémoire de manière dynamique et imprévisible.
Bend a réalisé quelques nouvelles tentatives et peut être assez rapide dans certains cas, mais il n'est certainement pas possible d'écrire de grands modèles de langage maintenant.
L'auteur a comparé l'ancienne méthode avec la nouvelle méthode, en utilisant le même arbre d'algorithmes pour le tri bitonique, impliquant l'allocation et les opérations JSON. Node.js dure 3,5 secondes (Apple M3 Max) et Bend dure 0,5 seconde (NVIDIA RTX 4090).
Oui, Bend nécessite actuellement un GPU entier pour battre Node.js sur un seul cœur. Mais d’un autre côté, il s’agit encore d’une nouvelle approche naissante par rapport à un compilateur JIT qu’une grande entreprise (Google) optimise depuis 16 ans. Il existe de nombreuses possibilités dans le futur.
Comment utiliser
Sur GitHub, l'auteur présente brièvement le processus d'utilisation de Bend.
Tout d’abord, installez Rust. Si vous souhaitez utiliser le runtime C, installez un compilateur C (tel que GCC ou Clang) ; si vous souhaitez utiliser le runtime CUDA, installez la boîte à outils CUDA (CUDA et nvcc) version 12.x. Bend ne prend actuellement en charge que les GPU Nvidia.
Ensuite, installez HVM2 et Bend :
cargo +nightly install hvmcargo +nightly install bend-lang
Enfin, écrivez quelques fichiers Bend et exécutez-le avec l'une des commandes suivantes :
bend run<file.bend> # uses the Rust interpreter (sequential)bend run-c<file.bend> # uses the C interpreter (parallel)bend run-cu <file.bend> # uses the CUDA interpreter (massively parallel)
Vous pouvez également utiliser gen-c et gen -cu Compile Bend dans des fichiers C/CUDA autonomes pour de meilleures performances. Mais gen-c et gen-cu en sont encore à leurs balbutiements et sont bien moins matures que les compilateurs SOTA comme GCC et GHC.
Programmation parallèle dans Bend
Voici des exemples de programmes qui peuvent être exécutés en parallèle dans Bend. Par exemple, l'expression :
(((1 + 2) + 3) + 4)
ne peut pas être exécutée en parallèle car + 4 dépend de + 3, qui à son tour dépend de (1+2). Et l'expression :
((1 + 2) + (3 + 4))
peut être exécutée en parallèle car (1+2) et (3+4) sont indépendants. La condition pour que Bend s'exécute en parallèle est de se conformer à la logique parallèle.
Regardons un exemple de code plus complet :
# Sorting Network = just rotate trees!def sort (d, s, tree):switch d:case 0:return treecase _:(x,y) = treelft = sort (d-1, 0, x)rgt = sort (d-1, 1, y)return rots (d, s, lft, rgt)# Rotates sub-trees (Blue/Green Box)def rots (d, s, tree):switch d:case 0:return treecase _:(x,y) = treereturn down (d, s, warp (d-1, s, x, y))(...)
该文件实现了具有不可变树旋转的双调排序器。它不是很多人期望的在 GPU 上快速运行的算法。然而,由于它使用本质上并行的分治方法,因此 Bend 会以多线程方式运行它。一些速度基准:
- CPU,Apple M3 Max,1 个线程:12.15 秒
- CPU,Apple M3 Max,16 线程:0.96 秒
- GPU,NVIDIA RTX 4090,16k 线程:0.21 秒
不执行任何操作即可实现 57 倍的加速。没有线程产生,没有锁、互斥锁的显式管理。我们只是要求 Bend 在 RTX 上运行我们的程序,就这么简单。
Bend 不限于特定范例,例如张量或矩阵。任何的并发系统,从着色器到类 Erlang 的 actor 模型都可以在 Bend 上进行模拟。例如,要实时渲染图像,我们可以简单地在每个帧上分配一个不可变的树:
# given a shader, returns a square imagedef render (depth, shader):bend d = 0, i = 0:when d < depth:color = (fork (d+1, i*2+0), fork (d+1, i*2+1))else:width = depth / 2color = shader (i % width, i /width)return color# given a position, returns a color# for this demo, it just busy loopsdef demo_shader (x, y):bend i = 0:when i < 5000:color = fork (i + 1)else:color = 0x000001return color# renders a 256x256 image using demo_shaderdef main:return render (16, demo_shader)
它确实会起作用,即使涉及的算法在 Bend 上也能很好地并行。长距离通信通过全局 beta 缩减(根据交互演算)执行,并通过 HVM2 的原子链接器正确有效地同步。
最后,作者表示 Bend 现在仅仅是第一个版本,还没有在合适的编译器上投入太多精力。大家可以预期未来每个版本的原始性能都会大幅提高。而现在,我们已经可以使用解释器,从 Python 高级语言的角度一睹大规模并行编程的样子了。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











0. À quoi sert cet article ? Nous proposons DepthFM : un modèle d'estimation de profondeur monoculaire génératif de pointe, polyvalent et rapide. En plus des tâches traditionnelles d'estimation de la profondeur, DepthFM démontre également des capacités de pointe dans les tâches en aval telles que l'inpainting en profondeur. DepthFM est efficace et peut synthétiser des cartes de profondeur en quelques étapes d'inférence. Lisons ce travail ensemble ~ 1. Titre des informations sur l'article : DepthFM : FastMonocularDepthEstimationwithFlowMatching Auteur : MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Imaginez un modèle d'intelligence artificielle qui non seulement a la capacité de surpasser l'informatique traditionnelle, mais qui permet également d'obtenir des performances plus efficaces à moindre coût. Ce n'est pas de la science-fiction, DeepSeek-V2[1], le modèle MoE open source le plus puissant au monde est ici. DeepSeek-V2 est un puissant mélange de modèle de langage d'experts (MoE) présentant les caractéristiques d'une formation économique et d'une inférence efficace. Il est constitué de 236B paramètres, dont 21B servent à activer chaque marqueur. Par rapport à DeepSeek67B, DeepSeek-V2 offre des performances plus élevées, tout en économisant 42,5 % des coûts de formation, en réduisant le cache KV de 93,3 % et en augmentant le débit de génération maximal à 5,76 fois. DeepSeek est une entreprise explorant l'intelligence artificielle générale

L’IA change effectivement les mathématiques. Récemment, Tao Zhexuan, qui a prêté une attention particulière à cette question, a transmis le dernier numéro du « Bulletin de l'American Mathematical Society » (Bulletin de l'American Mathematical Society). En se concentrant sur le thème « Les machines changeront-elles les mathématiques ? », de nombreux mathématiciens ont exprimé leurs opinions. L'ensemble du processus a été plein d'étincelles, intense et passionnant. L'auteur dispose d'une équipe solide, comprenant Akshay Venkatesh, lauréat de la médaille Fields, le mathématicien chinois Zheng Lejun, l'informaticien de l'Université de New York Ernest Davis et de nombreux autres universitaires bien connus du secteur. Le monde de l’IA a radicalement changé. Vous savez, bon nombre de ces articles ont été soumis il y a un an.

Boston Dynamics Atlas entre officiellement dans l’ère des robots électriques ! Hier, l'Atlas hydraulique s'est retiré "en larmes" de la scène de l'histoire. Aujourd'hui, Boston Dynamics a annoncé que l'Atlas électrique était au travail. Il semble que dans le domaine des robots humanoïdes commerciaux, Boston Dynamics soit déterminé à concurrencer Tesla. Après la sortie de la nouvelle vidéo, elle a déjà été visionnée par plus d’un million de personnes en seulement dix heures. Les personnes âgées partent et de nouveaux rôles apparaissent. C'est une nécessité historique. Il ne fait aucun doute que cette année est l’année explosive des robots humanoïdes. Les internautes ont commenté : Les progrès des robots ont fait ressembler la cérémonie d'ouverture de cette année à des êtres humains, et le degré de liberté est bien plus grand que celui des humains. Mais n'est-ce vraiment pas un film d'horreur ? Au début de la vidéo, Atlas est allongé calmement sur le sol, apparemment sur le dos. Ce qui suit est à couper le souffle

Plus tôt ce mois-ci, des chercheurs du MIT et d'autres institutions ont proposé une alternative très prometteuse au MLP – KAN. KAN surpasse MLP en termes de précision et d’interprétabilité. Et il peut surpasser le MLP fonctionnant avec un plus grand nombre de paramètres avec un très petit nombre de paramètres. Par exemple, les auteurs ont déclaré avoir utilisé KAN pour reproduire les résultats de DeepMind avec un réseau plus petit et un degré d'automatisation plus élevé. Plus précisément, le MLP de DeepMind compte environ 300 000 paramètres, tandis que le KAN n'en compte qu'environ 200. KAN a une base mathématique solide comme MLP est basé sur le théorème d'approximation universelle, tandis que KAN est basé sur le théorème de représentation de Kolmogorov-Arnold. Comme le montre la figure ci-dessous, KAN a

La dernière vidéo du robot Optimus de Tesla est sortie, et il peut déjà fonctionner en usine. À vitesse normale, il trie les batteries (les batteries 4680 de Tesla) comme ceci : Le responsable a également publié à quoi cela ressemble à une vitesse 20 fois supérieure - sur un petit "poste de travail", en sélectionnant et en sélectionnant et en sélectionnant : Cette fois, il est publié L'un des points forts de la vidéo est qu'Optimus réalise ce travail en usine, de manière totalement autonome, sans intervention humaine tout au long du processus. Et du point de vue d'Optimus, il peut également récupérer et placer la batterie tordue, en se concentrant sur la correction automatique des erreurs : concernant la main d'Optimus, le scientifique de NVIDIA Jim Fan a donné une évaluation élevée : la main d'Optimus est l'un des robots à cinq doigts du monde. le plus adroit. Ses mains ne sont pas seulement tactiles

Quoi? Zootopie est-elle concrétisée par l’IA domestique ? Avec la vidéo est exposé un nouveau modèle de génération vidéo domestique à grande échelle appelé « Keling ». Sora utilise une voie technique similaire et combine un certain nombre d'innovations technologiques auto-développées pour produire des vidéos qui comportent non seulement des mouvements larges et raisonnables, mais qui simulent également les caractéristiques du monde physique et possèdent de fortes capacités de combinaison conceptuelle et d'imagination. Selon les données, Keling prend en charge la génération de vidéos ultra-longues allant jusqu'à 2 minutes à 30 ips, avec des résolutions allant jusqu'à 1080p, et prend en charge plusieurs formats d'image. Un autre point important est que Keling n'est pas une démo ou une démonstration de résultats vidéo publiée par le laboratoire, mais une application au niveau produit lancée par Kuaishou, un acteur leader dans le domaine de la vidéo courte. De plus, l'objectif principal est d'être pragmatique, de ne pas faire de chèques en blanc et de se mettre en ligne dès sa sortie. Le grand modèle de Ke Ling est déjà sorti à Kuaiying.

La détection de cibles est un problème relativement mature dans les systèmes de conduite autonome, parmi lesquels la détection des piétons est l'un des premiers algorithmes à être déployés. Des recherches très complètes ont été menées dans la plupart des articles. Cependant, la perception de la distance à l’aide de caméras fisheye pour une vue panoramique est relativement moins étudiée. En raison de la distorsion radiale importante, la représentation standard du cadre de délimitation est difficile à mettre en œuvre dans les caméras fisheye. Pour alléger la description ci-dessus, nous explorons les conceptions étendues de boîtes englobantes, d'ellipses et de polygones généraux dans des représentations polaires/angulaires et définissons une métrique de segmentation d'instance mIOU pour analyser ces représentations. Le modèle fisheyeDetNet proposé avec une forme polygonale surpasse les autres modèles et atteint simultanément 49,5 % de mAP sur l'ensemble de données de la caméra fisheye Valeo pour la conduite autonome.
