{"id":107266,"date":"2025-05-13T12:07:10","date_gmt":"2025-05-13T12:07:10","guid":{"rendered":"https:\/\/www.europesays.com\/de\/107266\/"},"modified":"2025-05-13T12:07:10","modified_gmt":"2025-05-13T12:07:10","slug":"endlich-open-source-warp-das-python-framework-von-nvidia-fuer-cuda","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/de\/107266\/","title":{"rendered":"Endlich Open Source: Warp, das Python-Framework von Nvidia f\u00fcr CUDA"},"content":{"rendered":"<p>Nvidia hat Warp unter Apache 2-Lizenz gestellt. Das Python-Framework dient leistungshungrigen, physikalischen Simulationen, der Datenerzeugung und dem r\u00e4umlichen Rechnen. Es kompiliert Python-Funktionen just in time zu Kernel-Code, der auf x86-CPUs und CUDA-GPUs l\u00e4uft.<\/p>\n<p>\u00dcber die Hintergr\u00fcnde des Lizenzwechsels schweigt Nvidia selbst sich aus. In der Community gab es <a href=\"https:\/\/news.ycombinator.com\/item?id=40680737\" rel=\"external noopener nofollow\" target=\"_blank\">zuvor jedoch Kritik<\/a> an der urspr\u00fcnglich propriet\u00e4ren Lizenz, die zwar die Quellen offengelegt, aber sich Rechte in der Verwendung vorbehalten hatte. Die neue Lizenz ist nun anerkannt Open Source.<\/p>\n<p>      <a href=\"https:\/\/www.heise.de\/imgs\/18\/4\/8\/5\/2\/9\/2\/6\/warp_beispiele-551251223c3b131d.png\" rel=\"nofollow noopener\" target=\"_blank\"><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" alt=\"Beispiele f\u00fcr physikalische Simulationen mit Warp\" height=\"1191\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C\/rect%3E%3C\/svg%3E\" style=\"aspect-ratio: 790 \/ 1191; object-fit: cover;\" width=\"790\"\/><\/p>\n<p>      <\/a><\/p>\n<p>Beispiele f\u00fcr physikalische Simulationen mit Warp.<\/p>\n<p class=\"a-caption__source\">\n      (Bild:\u00a0Screenshot Nvidia)\n    <\/p>\n<p>Vergleichbar mit nativem CUDA-Code<\/p>\n<p>Warp liefert spezielle Primitives f\u00fcr physikalische Simulationen, Sensoren, Robotik oder die geometrische Verarbeitung. Dazu z\u00e4hlen auch h\u00f6herrangige geometrische Datenstrukturen wie Meshes, Hash Grids und Sparse Volumes f\u00fcr die Nutzung in der GPU. Im Gegensatz zur auf Tensor basierender Programmierung bietet Warp implizites, von Entwicklern kontrolliertes Kernel- und Threat-Management, native konditionale Logik sowie Sparse Scatter und Gather zur Vektorverarbeitung.<\/p>\n<p>Die Warp-Kernel spielen Informationen im Reverse Mode zur\u00fcck, um sie in Frameworks wie PyTorch, JAX, PhysicsNeMo, Nvidia Omniverse oder Paddle einzusetzen. Auch eine Verwendung in Pipelines zum Maschinenlernen ist vorgesehen. Nvidia <a href=\"https:\/\/developer.nvidia.com\/warp-python\" rel=\"external noopener nofollow\" target=\"_blank\">lobt Warp auf der Webseite des Projekts<\/a> damit, dass die &#8222;Simulationsgeschwindigkeit gleichwertig zu nativem CUDA-Code mit der Bequemlichkeit und Entwicklerproduktivit\u00e4t von Python&#8220; sei.<\/p>\n<p>Warp l\u00e4uft auf den Plattformen x86-64 oder ARMv8 unter Windows, Linux und macOS. Der GPU-Support erfordert CUDA-GPUs, Treiber und Grafikkarten mindestens der Serie GeForce GTX 9xx. F\u00fcr Python empfiehlt Nvidia Version 3.9 und h\u00f6her. Die Binaries auf PyPI sind mit CUDA 12 gebaut und ben\u00f6tigen CUDA-Treiber ab 525.60.13 (Linux x86-64) oder 528.33 (Windows x86-64). Die Installation erfolgt mit:<\/p>\n<p> pip install warp-lang<\/p>\n<p>Im <a href=\"https:\/\/github.com\/NVIDIA\/warp\" rel=\"external noopener nofollow\" target=\"_blank\">Repo von Warp<\/a> gibt es ein Code-Beispiel, das die L\u00e4nge zuf\u00e4lliger 3D-Vektoren berechnet:<\/p>\n<p>import warp as wp<br \/>\nimport numpy as np<\/p>\n<p>num_points = 1024<\/p>\n<p>@wp.kernel<br \/>\ndef length(points: wp.array(dtype=wp.vec3),<br \/>\n           lengths: wp.array(dtype=float)):<\/p>\n<p>    # thread index<br \/>\n    tid = wp.tid()<\/p>\n<p>    # compute distance of each point from origin<br \/>\n    lengths[tid] = wp.length(points[tid])<\/p>\n<p># allocate an array of 3d points<br \/>\npoints = wp.array(np.random.rand(num_points, 3), dtype=wp.vec3)<br \/>\nlengths = wp.zeros(num_points, dtype=float)<\/p>\n<p># launch kernel<br \/>\nwp.launch(kernel=length,<br \/>\n          dim=len(points),<br \/>\n          inputs=[points, lengths])<\/p>\n<p>print(lengths)<\/p>\n<p>Weitere Informationen finden sich in ein paar <a href=\"https:\/\/github.com\/NVIDIA\/warp\/blob\/main\/notebooks\" rel=\"external noopener nofollow\" target=\"_blank\">Jupyter-Notebooks<\/a>, in der <a href=\"https:\/\/nvidia.github.io\/warp\/\" rel=\"external noopener nofollow\" target=\"_blank\">Dokumentation<\/a> und in <a href=\"https:\/\/github.com\/NVIDIA\/warp\/blob\/main\/warp\/examples\" rel=\"external noopener nofollow\" target=\"_blank\">Code-Beispielen<\/a>.<\/p>\n<p>(<a class=\"redakteurskuerzel__link\" href=\"https:\/\/www.heise.de\/news\/mailto:who@heise.de\" title=\"Wolf Hosbach\" rel=\"nofollow noopener\" target=\"_blank\">who<\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"Nvidia hat Warp unter Apache 2-Lizenz gestellt. Das Python-Framework dient leistungshungrigen, physikalischen Simulationen, der Datenerzeugung und dem r\u00e4umlichen&hellip;\n","protected":false},"author":2,"featured_media":107267,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[42216,29,42217,30,33735,196,27707,3835,2310,595,39448,190,189,42218,194,191,193,192],"class_list":{"0":"post-107266","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-wissenschaft-technik","8":"tag-cuda","9":"tag-deutschland","10":"tag-framework","11":"tag-germany","12":"tag-grafikchip","13":"tag-it","14":"tag-machine-learning","15":"tag-mathematik","16":"tag-nvidia","17":"tag-physik","18":"tag-python","19":"tag-science","20":"tag-science-technology","21":"tag-simulationen","22":"tag-technik","23":"tag-technology","24":"tag-wissenschaft","25":"tag-wissenschaft-technik"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@de\/114500445640779213","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/107266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/comments?post=107266"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/107266\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media\/107267"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media?parent=107266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/categories?post=107266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/tags?post=107266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}