Hat OpenCL (auf Windows) eigentlich noch Relevanz?

Hey. Wie die Frage schon sagt. Hat OpenCL eigentlich noch irgendwie Relevanz heutzutage? Ich wollte immer ein paar Sachen mit OpenCL machen, welche beinhalten, auf CPU und GPU zu rechnen. Die OpenCL-Kernel empfand ich als gute Alternative zum Cuda-Model, da es auch ein bisschen mit einem Forschungsthema zu tun hat.

Jetzt musste ich von Ubuntu auf Windows wechseln, da wir eine Idee für eine Art Audio Parcour haben und die großen Soundkarten halt oft für Linux keine richtigen Treiber bieten.

Während ich auf Ubuntu noch relativ einfach OpenCL Implementierungen finden konnte, scheint es für Windows irgendwie schwieriger. NVIDIA hat OpenCL ja schon dabei. Für meinen Threadripper scheint das AMD SDK aber nicht mehr richtig zu funktionieren. Es gibt ja noch die Portable Computing Language , die zumindest auf Ubuntu leicht installierbar war.

Für Windows scheint das aber ein Kampf zu sein. Zumindest scheint die Installation aus der README.windows nicht zu funktionieren.

Ich frage mich jetzt aber, ob es den Aufwand noch weiter wert ist. Irgendwie scheint sich gerade für OpenCL 3.0 eh niemand zu interessieren und abgesehen von Rusticl für AMD GPUs, scheint es auch keine großen Anstalten zu geben, OpenCL als Grundlage für heterogene Systeme zu geben.

Ich würde zwar gerne irgendwo auf Reddit fragen, aber im OpenCL Subreddit sind natürlich die meisten der Meinung, dass OpenCL noch ein großes Ding ist.

Hat jemand Erfahrung und Meinung dazu?

Linux, programmieren, C, cuda, Rust
Wie kann man ein weitverzweigtes Geflecht aus if/else-Anweisungen in Python (oder in anderen Programmiersprachen) programmieren?

Wenn man als absoluter Laie in Programmierung im Internet zur if/else-Anweisung (egal, in welcher Programmiersprache) recherchiert, wird man schnell feststellen, dass die Infos, die man hier findet, nicht allzu reichhaltig sind.

Das höchste der Gefühle, was einem beigebracht wird, ist folgenden Dialog zu programmieren: "Welche Sprache sprechen Sie?" - "Französisch." - "Wollen Sie sich auf Französisch weiter unterhalten?" Ende.

Man lernt nicht, wie man mit dem Programm weitermachen kann, falls die Antwort des Benutzers "Ja" sein sollte. Man erfährt gar nichts. Was zu finden ist, ist, wie man EINE FRAGE STELLT und dann auf EINE ANTWORT zu dieser Frage reagieren kann. Das war's.

Ich wüsste gern, wie man das weiterspinnen kann. Wie man eine ganz lange Unterhaltung mit allen möglichen Antwortmöglichkeiten programmieren kann. So wie bei einem Windows-Installationassistenten, der dafür sorgt, dass Windows unter hundert verschiedenen Arten auf die Art installiert wird, wie der Benutzer es will.

Wenn die Benutzer dieser Seite keine Antwort auf die Frage haben, weil sie es selbst nicht wissen, ist das überhaupt kein Problem. Man trifft immer wieder einen It-Profi, der es vielleicht weiß.

Allerdings lässt sich extrem leicht feststellen, dass irgendwelche Teenies oder Leute, die auf dem geistigen Niveau von (nicht sehr gut erzogenen) Teenies stehengeblieben sind, es sich zum Hobby machen, auf dieser Seite unvorstellbar bösartig und beleidigend zu antworten. Es ist völlig egal, was man fragt, egal ob "Wie heißt das weiße Zeug, das früher auf den Donuts war?" oder "In welchen Läden kann man viele naturfreundliche Reinigungsmittel kaufen?" Es wird immer geantwortet von irgendwelchen Leuten, die zu wenig zu tun haben und sich ihre Zeit vertreiben, Leute im Internet mit Sprüchen wie "Boah, Alta, wie dumm BIIISSSSST Du eigentlich?" zu beleidigen.

Ich werde auf so einen Schwachsinn nicht antworten, auch nicht auf "gut gemeinte Rückfragen" und schon gar nicht auf "Also, mit SO EINER NEGATIVEN EINSTELLUNG MENSCHEN GEGENÜBER würde ich hier aber KEINE Frage stellen".

Die Frage ist klar formuliert, so klar wie sie klarer nicht formuliert werden kann. So wie "Was ist 2 + 2?" Wenn jemand die Antwort wüsste, würde mich das sehr freuen. Wenn nicht, dann nicht.

Danke, Ende.

Computer, IT, programmieren, Java, Anwendungsentwicklung, C Sharp, Programmiersprache, Python, Softwareentwicklung, Webentwicklung, Rust, Programmcode, Objektorientierte Programmierung
Bash Script um DNS umzustellen?

Habe einmal ein Bash Script und eine .Desktop Verknüpfungen auf meinem Arch KDE und wollte bei Doppelklick auf die Verknüpfungen zb Updaten oder DNS auf 8.8.8.8 oderr Automatisch Umstellen.

(Ich kann auch via KDE Connect das ganze Starten und ohne EIngabe abschließen mit sudo pacman -Syu --noconfirm && yay -Syu --noconfirm)

Aber bei toggle_dns funktioniert das leider nicht mit dem gelieferten Code von ChatGPT (siehe Unten) und ich kann garkein Bash, nur "normale" programmiersprachen wie JavaScript oder PHP. Mit Python würde ich es vielleicht hinkriegen aber das ist doch viel aufwendiger jetzt die IDE erneut zu installieren als mit Bash.

Wenn es das gibt wollte ich eine KDE eigene Benachrichtigung in welchen Modus es jetzt gewechselt ist zb : DNS auf Automatisch umgestellt oder DNS auf 8.8.8.8 Umgestellt statt ein Terminal was ich dann noch per hand schließen muss.
Kann mir jemand weiterhelfen den Code zu reparieren ?

toggle_dns.sh :

#!/bin/bash

# Datei und Schnittstelle für die DNS-Konfiguration
RESOLV_CONF="/etc/resolv.conf"
INTERFACE="Netzwerkschnittstelle_von_euch"

# Funktion zum Setzen des DNS-Servers auf 8.8.8.8
set_dns() {
  echo -e "nameserver 8.8.8.8\noptions edns0" | sudo tee $RESOLV_CONF > /dev/null
  sudo systemctl restart NetworkManager
  notify "DNS wurde auf 8.8.8.8 gesetzt."
}

# Funktion zum Zurücksetzen des DNS-Servers auf automatisch
reset_dns() {
  sudo rm -f $RESOLV_CONF
  sudo systemctl restart NetworkManager
  notify "DNS wurde auf automatisch gesetzt."
}

# Funktion zum Senden einer KDE-Benachrichtigung
notify() {
  message=$1
  kdialog --passivepopup "$message" 5
}

# Überprüfen, ob der DNS-Server bereits auf 8.8.8.8 gesetzt ist
if grep -q "8.8.8.8" $RESOLV_CONF; then
  echo "DNS ist derzeit auf 8.8.8.8 gesetzt. Umschalten auf automatisch."
  reset_dns
else
  echo "DNS ist derzeit automatisch konfiguriert. Umschalten auf 8.8.8.8."
  set_dns
fi

Bild zum Beitrag
PC, Server, Computer, Internet, Windows, WLAN, Technik, Linux, IT, programmieren, Java, JavaScript, Ubuntu, Cplusplus, Bash, C Sharp, DNS, Gnome, Informatik, KDE, Programmiersprache, Python, Script, Shell, Arch Linux, Rust, Debian, PowerShell, KDE Plasma, node
Wo schlagt ihr nach, wenn ihr euch nicht auskennt beim Programmieren?

Hallo Leute, ich will nur Fragen, was ihr macht, wenn ihr nicht weiter wisst bei einem Projekt, während ihr programmiert. 

Weil ich möchte programmieren und ich möchte meiden Internet Seiten (die mit fertig geschriebenen) und YouTube Tutorials zu verwenden, während ich programmiere, da dort die Codes fertig geschrieben sind und ich sie nicht komplett abschreiben möchte, aber ich könnte mir den Code zumindest durchlesen.

Ich würde lieber im Internet die offizielle Dokumentationen der Programmiersprachen zur Hand nehmen und wenn es wirklich ein spezifisches Problem ist, könnte ich diese oben genannten Methoden verwenden, die ich normalerweise Meiden würde und wahrscheinlich auch Foren wie auf Reddit und Stack Overflow verwenden (obwohl mir Stack Overflow immer sehr unsympathisch wirkt).

Mir ist es bewusst, dass das alles Selbstverständlich ist sowas zu tun, aber in der Schule wurde uns sowas nicht so gelehrt sowas zu machen, sondern uns wurden die Zetteln/Word Dateien gegeben, mit Trockenen Erklärungen und meistens stumpfes Auswendiglernen. Die Aufgaben, die uns die Professoren geben sind recht unverständlich und trotz das wir sie Fragen stellen konnten, haben sie niemanden beim Programmieren geholfen, sowie als wollen sie uns dazu bringen das Programmieren zu hassen.

Versteht mich nicht falsch, ich finde Programmieren trotzdem interessant und will es auch erlernen, aber das was man in der Schule lernt ist nichts. Wir haben dort nie wirklich was mit GC oder Memory Allocations gehabt, sondern haben meistens oberflächlich mit VS 2019 mit C# gelernt. Die Sprache ist eigentlich recht verständlich, aber in der Schule war es eben recht schmerzhaft zu lernen.

Programmiersprachen die ich lernen möchte sind C# und Python zurzeit. In der Zukunft auch Rust, aber das würde ich später lernen.

Wie ist es bei euch so?

Danke LG

Software, App, Programm, Webseite, programmieren, C Sharp, Entwicklung, Programmiersprache, Python, Softwareentwicklung, Rust, Entwicklertools
LLVM-sys will nicht funktionieren?

Servus

Ich sitz seid stunden daran LLVM-sys für Rust zum laufen zu bekommen. Irgendwas mach ich falsch aber ich weiss nichts was.

Ich nutze MacOS Ventura

Als allerstes wie in den Docs vorgeschlagen habe ich llvmenv genutzt um llvm 13.0.0 zuinstallieren. Danach sagten die, dass man die ENV variable mit dem name "LLVM_SYS_160_PREFIX" auf den wert setzen den man bekommt wenn man llvmenv prefix eingibt

Also was ich getan habe:

$ llvmenv prefix
/Users/mainUser/Library/Application Support/llvmenv/13.0.0

Dann hab ich zuerst wie vorgeschalgen in den Docs folgenden command verwendet:

$ export LLVM_SYS_160_PREFIX=/Users/mainUser/Library/Application Support/llvmenv/13.0.0
export: not valid in this context: Support/llvmenv/13.0.0

Wodurch ich einen fehler bekommen habe, da logischerweise keine whitespaces im Path zugelassen sind. Darum habbe ich den teil mit dem Application Support in anführungzeichen gesetzt:

 $ export LLVM_SYS_160_PREFIX=/Users/mainUser/Library/"Application Support"/llvmenv/13.0.0

und dann keine response mehr bekommen. So hab ich angenommen, dass es funktioniert was es natürlich nicht tat.

error: No suitable version of LLVM was found system-wide or pointed
              to by LLVM_SYS_160_PREFIX.
       
              Consider using `llvmenv` to compile an appropriate copy of LLVM, and
              refer to the llvm-sys documentation for more information.
       
              llvm-sys: https://crates.io/crates/llvm-sys
              llvmenv: https://crates.io/crates/llvmenv
   --> /Users/mainUser/.cargo/registry/src/github.com-1ecc6299db9ec823/llvm-sys-160.0.2/src/lib.rs:490:1
    |
490 | / std::compile_error!(concat!(
491 | |     "No suitable version of LLVM was found system-wide or pointed
492 | |        to by LLVM_SYS_",
493 | |     env!("CARGO_PKG_VERSION_MAJOR"),
...   |
500 | |        llvmenv: https://crates.io/crates/llvmenv"
501 | | ));
    | |__^
 

Nachdem ich dann printenv genutzt habe musste ich feststellen, dass das Value nicht gespeichert war. Danach nutze ich eine Methode die ich im Internet fand bei dem man direkt in ~/.zshrc reinschreib und dann mit source speichert. Nachdem ich diese Methode verwendet habe und printenv in einem anderen Terminal genutzt habe konnte ich tatsächlich den Wert finden.

$ printenv | grep "LLVM_SYS_160_PREFIX"
LLVM_SYS_160_PREFIX=/Users/mainUser/Library/Application Support/llvmenv/13.0.0

Ich dachte es funktioniert alles. Leider nicht gleicher fehler wie zuvor. Dann wurde mir gesagt ich soll mit cargo clean aufräumen und erneut builden. Hab ich gemacht funktioniert nicht.

Meine frage:

Was mach ich falsch? Was überseh ich?

Cargo.toml:

[package]
name = "jc"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
llvm-sys = "160.0.2"

Danke

Programm, programmieren, Entwicklung, Rust

Meistgelesene Beiträge zum Thema Rust