In C++17 möchte ich mehrere OpenBLAS-Unterroutinen mit jeweils einer unterschiedlichen Anzahl von Threads verwenden. Gibt es eine Möglichkeit, dies zu erreichen?
In der Vergangenheit habe ich openblas_set_num_threads();
um die Anzahl der Threads für meine OpenBLAS-Subroutinen festzulegen. Während dies funktioniert, legt es die Openblas-Anzahl der Threads global fest und verhindert so, dass jede Unterroutine bei paralleler Ausführung eine unterschiedliche Anzahl von Threads verwendet. Aus diesem Grund verwende ich für alle meine OpenBLAS-Unterroutinen die gleiche Anzahl an Threads, damit sie parallel ausgeführt werden können.
In C++17 möchte ich mehrere OpenBLAS-Unterroutinen mit jeweils einer unterschiedlichen Anzahl von Threads verwenden. Gibt es eine Möglichkeit, dies zu erreichen? In der Vergangenheit habe ich openblas_set_num_threads(); um die Anzahl der Threads für meine OpenBLAS-Subroutinen festzulegen. Während dies funktioniert, legt es die Openblas-Anzahl der Threads global fest und verhindert so, dass jede Unterroutine bei paralleler Ausführung eine unterschiedliche Anzahl von Threads verwendet. Aus diesem Grund verwende ich für alle meine OpenBLAS-Unterroutinen die gleiche Anzahl an Threads, damit sie parallel ausgeführt werden können.
Ich verwende derzeit die asynchrone Callback-API von gRPC, hauptsächlich für Stream-RPC. Wie kann ich die Anzahl der IO-Threads festlegen? Ich sehe anscheinend keine entsprechenden Konfigurationen.
Ich habe mir die Funktion numpy.linalg.lstsq angesehen und enthält alle Arten von Solver, die Lapack mit Ausnahme von Gel -Routine bietet, die auf der qR -Zerlegung basieren (Haushalter -Reflektoren...