Inhaltsverzeichnis
Beispiel
Ausgabe
Heim Backend-Entwicklung C++ Verwenden Sie pthread, um Matrixaddition und -subtraktion in C/C++ zu implementieren

Verwenden Sie pthread, um Matrixaddition und -subtraktion in C/C++ zu implementieren

Aug 28, 2023 am 09:05 AM
矩阵 pthread 加法 减法

Verwenden Sie pthread, um Matrixaddition und -subtraktion in C/C++ zu implementieren

Hier erfahren Sie, wie Sie eine Matrixaddition und -subtraktion in einer Multithread-Umgebung durchführen. pthread wird verwendet, um mehrere Threads gleichzeitig in C oder C++ auszuführen.

Es gibt zwei Matrizen A und B. Die Reihenfolge jeder Matrix ist (m x n). Jeder Thread erhält jede Zeile und führt eine Addition oder Subtraktion durch. Daher gibt es für m Zeilen m verschiedene Threads.

Beispiel

#include<iostream>
#include <pthread.h>
#include <cstdlib>
#include <cstdint>
#define CORE 3
#define MAX 3
using namespace std;
int AMat[MAX][MAX] = {{10, 20, 30},
   {40, 50, 60},
   {70, 80, 50}
};
int BMat[MAX][MAX] = {{80, 60, 20},
   {30, 20, 15},
   {10, 14, 35}
};
pthread_t thread[CORE * 2];
int add[MAX][MAX], sub[MAX][MAX];
void* addMatrices(void* arg) {
   intptr_t core = (intptr_t)arg;
   // Each thread computes 1/3rd of matrix addition
   for (int i = core * MAX / 3; i < (core + 1) * MAX / 3; i++) {
      for (int j = 0; j < MAX; j++) {
         add[i][j] = AMat[i][j] + BMat[i][j];
      }
   }
}
void* subtraction(void* arg) {
   intptr_t core = (intptr_t)arg;
   // Each thread computes 1/3rd of matrix subtraction
   for (int i = core * MAX / 3; i < (core + 1) * MAX / 3; i++) {
      for (int j = 0; j < MAX; j++) {
         sub[i][j] = AMat[i][j] - BMat[i][j];
      }
   }
}
void display(){
   cout << "Matrix A: " << endl;
   for(int i = 0; i < MAX; i++) {
      for(int j = 0; j < MAX; j++) {
         cout << AMat[i][j] << " ";
      }
      cout << endl;
   }
   cout << "\nMatrix B: " << endl;
   for(int i = 0; i < MAX; i++) {
      for(int j = 0; j < MAX; j++) {
         cout << BMat[i][j] << " ";
      }
      cout << endl;
   }
}
void displayRes(){
   cout << "\nAddition: " << endl;
   for(int i = 0; i < MAX; i++) {
      for(int j = 0; j < MAX; j++) {
         cout << add[i][j] << " ";
      }
      cout << endl;
   }
   cout << "\nSubtraction: " << endl;
   for(int i = 0; i < MAX; i++) {
      for(int j = 0; j < MAX; j++) {
         cout << sub[i][j] << " ";
      }
      cout << endl;
   }
}
main() {
   display();
   int step = 0;
   for (int i = 0; i < CORE; i++) {
      pthread_create(&thread[i], NULL, &addMatrices, (void*)step);
      pthread_create(&thread[i + CORE], NULL, &subtraction, (void*)step);
      step++;
   }
   for (int i = 0; i < CORE * 2; i++) {
      pthread_join(thread[i], NULL);
   }
   displayRes();
}
Nach dem Login kopieren

Ausgabe

Matrix A:
10 20 30
40 50 60
70 80 50
Matrix B:
80 60 20
30 20 15
10 14 35
Addition:
90 80 50
70 70 75
80 94 85
Subtraction:
-70 -40 10
10 30 45
60 66 15
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerwenden Sie pthread, um Matrixaddition und -subtraktion in C/C++ zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erkundung der Geschichte und Matrix der künstlichen Intelligenz: Tutorial zur künstlichen Intelligenz (2) Erkundung der Geschichte und Matrix der künstlichen Intelligenz: Tutorial zur künstlichen Intelligenz (2) Nov 20, 2023 pm 05:25 PM

Im ersten Artikel dieser Reihe haben wir die Zusammenhänge und Unterschiede zwischen künstlicher Intelligenz, maschinellem Lernen, Deep Learning, Datenwissenschaft und mehr diskutiert. Wir haben auch einige schwierige Entscheidungen hinsichtlich der Programmiersprachen, Tools und mehr getroffen, die in der gesamten Serie verwendet werden sollen. Abschließend haben wir noch ein wenig Matrixwissen eingeführt. In diesem Artikel werden wir die Matrix, den Kern der künstlichen Intelligenz, ausführlich besprechen. Aber vorher wollen wir zunächst die Geschichte der künstlichen Intelligenz verstehen. Warum müssen wir die Geschichte der künstlichen Intelligenz verstehen? In der Geschichte gab es viele KI-Booms, aber in vielen Fällen blieben die großen Erwartungen an das Potenzial der KI aus. Das Verständnis der Geschichte der künstlichen Intelligenz kann uns helfen zu erkennen, ob diese Welle der künstlichen Intelligenz Wunder bewirken wird oder nur eine weitere Blase ist, die kurz vor dem Platzen steht. uns

Wie berechnet man die Determinante einer Matrix oder eines ndArrays mit Numpy in Python? Wie berechnet man die Determinante einer Matrix oder eines ndArrays mit Numpy in Python? Aug 18, 2023 pm 11:57 PM

In diesem Artikel erfahren Sie, wie Sie die Determinante einer Matrix mithilfe der Numpy-Bibliothek in Python berechnen. Die Determinante einer Matrix ist ein Skalarwert, der die Matrix in kompakter Form darstellen kann. Es ist eine nützliche Größe in der linearen Algebra und hat zahlreiche Anwendungen in verschiedenen Bereichen, darunter Physik, Ingenieurwesen und Informatik. In diesem Artikel besprechen wir zunächst die Definition und Eigenschaften von Determinanten. Anschließend lernen wir, wie man Numpy zur Berechnung der Determinante einer Matrix verwendet, und sehen anhand einiger Beispiele, wie es in der Praxis verwendet wird. Die Determinante einer Matrix ist ein Larwert, der zur Beschreibung der Eigenschaft verwendet werden kann

Python-Programm zur Berechnung der Summe der rechtsdiagonalen Elemente einer Matrix Python-Programm zur Berechnung der Summe der rechtsdiagonalen Elemente einer Matrix Aug 19, 2023 am 11:29 AM

Eine beliebte Allzweck-Programmiersprache ist Python. Es wird in einer Vielzahl von Branchen eingesetzt, darunter Desktop-Anwendungen, Webentwicklung und maschinelles Lernen. Glücklicherweise verfügt Python über eine einfache und leicht verständliche Syntax, die für Anfänger geeignet ist. In diesem Artikel verwenden wir Python, um die Summe der rechten Diagonalen einer Matrix zu berechnen. Was ist eine Matrix? In der Mathematik verwenden wir ein rechteckiges Array oder eine Matrix, um ein mathematisches Objekt oder seine Eigenschaften zu beschreiben. Es handelt sich um ein rechteckiges Array oder eine Tabelle, die in Zeilen und Spalten angeordnete Zahlen, Symbole oder Ausdrücke enthält. Zum Beispiel -234512367574. Dies ist also eine Matrix mit 3 Zeilen und 4 Spalten, ausgedrückt als 3*4-Matrix. Nun gibt es in der Matrix zwei Diagonalen, die Primärdiagonale und die Sekundärdiagonale

So schreiben Sie Python-Additionscode_Tutorial zum Schreiben von Python-Additionscode So schreiben Sie Python-Additionscode_Tutorial zum Schreiben von Python-Additionscode Apr 02, 2024 pm 06:16 PM

1. Öffnen Sie zunächst die Online-Python-Bearbeitungsseite. 2. Anschließend geben Sie im Programmbereich den Programmcode ein. 3. Klicken Sie dann oben links auf „Ausführen“, geben Sie den ersten Summanden ein, drücken Sie die Eingabetaste und geben Sie den zweiten Summanden ein. 4. Drücken Sie abschließend die Eingabetaste, um die Summe der beiden Summanden zu erhalten. Dies ist ein einfacher Python-Zusatzcode.

Python-Programm zum Multiplizieren zweier Matrizen mithilfe mehrdimensionaler Arrays Python-Programm zum Multiplizieren zweier Matrizen mithilfe mehrdimensionaler Arrays Sep 11, 2023 pm 05:09 PM

Eine Matrix ist eine Menge von Zahlen, die in Zeilen und Spalten angeordnet sind. Eine Matrix mit m Zeilen und n Spalten wird als mXn-Matrix bezeichnet, und m und n werden als ihre Dimensionen bezeichnet. Eine Matrix ist ein zweidimensionales Array, das in Python mithilfe von Listen oder NumPy-Arrays erstellt wird. Im Allgemeinen kann die Matrixmultiplikation durch Multiplikation der Zeilen der ersten Matrix mit den Spalten der zweiten Matrix erfolgen. Dabei sollte die Anzahl der Spalten der ersten Matrix gleich der Anzahl der Zeilen der zweiten Matrix sein. Eingabe- und Ausgabeszenario Angenommen, wir haben zwei Matrizen A und B. Die Abmessungen dieser beiden Matrizen betragen 2X3 bzw. 3X2. Die resultierende Matrix nach der Multiplikation hat 2 Zeilen und 1 Spalte. [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

Dividieren Sie zwei ganze Zahlen, ohne die Multiplikations-, Divisions- und Modulo-Operatoren zu verwenden Dividieren Sie zwei ganze Zahlen, ohne die Multiplikations-, Divisions- und Modulo-Operatoren zu verwenden Sep 21, 2023 pm 12:41 PM

Bei diesem Problem müssen wir nur zwei ganze Zahlen dividieren, ohne Multiplikations-, Divisions- und Modulo-Operatoren zu verwenden. Obwohl wir Additions-, Multiplikations- oder Bitoperationen verwenden können. Die Problemstellung besagt, dass wir zwei ganze Zahlen x und y erhalten. Ohne Multiplikation, Division oder den Modulo-Operator müssen wir den Quotienten von x dividiert durch y bestimmen. Beispiel Eingabe: x=15, y=5 Ausgabe: 3 Eingabe: x=10, y=4 Ausgabe: 2 Eingabe: x=-20, y=3 Ausgabe: -6 Methode Methode 1 (verwenden Sie einfache Mathematik) hier Als Methode verwenden wir einen einfachen mathematischen Algorithmus. Hier ist eine Schritt-für-Schritt-Erklärung der Schritte, die wir befolgen werden – wir werden den Divisor (d. h. y) so lange vom Dividenden (d. h. x) subtrahieren, bis x größer oder gleich y ist. wenn y größer als x ist

Kenntnisse im Betrieb von Oracle-Datenbanken: Detaillierte Erläuterung des Subtraktionsvorgangs Kenntnisse im Betrieb von Oracle-Datenbanken: Detaillierte Erläuterung des Subtraktionsvorgangs Mar 02, 2024 pm 06:15 PM

Als leistungsstarkes relationales Datenbankverwaltungssystem bietet die Oracle-Datenbank eine Fülle von Rechenoperationen, um den Benutzeranforderungen gerecht zu werden. Im täglichen Datenbankbetrieb ist die Subtraktionsoperation eine häufige und wichtige Operation. Sie kann uns dabei helfen, die Subtraktionsoperation von Daten zu realisieren, um die benötigten Ergebnisse zu erhalten. In diesem Artikel werden die Techniken im Zusammenhang mit Subtraktionsoperationen in der Oracle-Datenbank ausführlich erläutert und spezifische Codebeispiele gegeben, um den Lesern zu helfen, diese Funktion besser zu verstehen und zu verwenden. 1. Grundkonzepte von Subtraktionsoperationen in Oracle-Daten

C-Programm zum Vergleich zweier Matrizen auf Gleichheit C-Programm zum Vergleich zweier Matrizen auf Gleichheit Aug 31, 2023 pm 01:13 PM

Der Benutzer muss die Reihenfolge der beiden Matrizen sowie die Elemente beider Matrizen eingeben. Vergleichen Sie dann die beiden Matrizen. Zwei Matrizen sind gleich, wenn beide Matrixelemente und -größen gleich sind. Wenn die Matrizen gleich groß, aber nicht gleich in den Elementen sind, werden die Matrizen als vergleichbar, aber nicht gleich dargestellt. Wenn die Größen und Elemente nicht übereinstimmen, können die Anzeigematrizen nicht verglichen werden. Das folgende Programm ist ein C-Programm, das verwendet wird, um zu vergleichen, ob zwei Matrizen gleich sind: #include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10] ; In

See all articles