• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af dennism | 04.03.2008 17:13

Ubuntu: Brug begge processorer

Hjælp generelt
Jeg har en Zepto 2425W med en Intel Core Duo Processor T2500.

Jeg har lavet et lille c-program som kører en rekursiv fibonacci:

#include
#include

main() {
(void) printf("Test: %lu\n", fibo(10));
return(0);
}

fibo(n) long int n; {
if (n==0)
return 0;
else if (n==1)
return 1;
else
return fibo(n-1)+fibo(n-2);
}


Den finder det 10. fibonacci tal. Hvis jeg f.eks. ændrer til 50 tager det rimelig langtid at regne det, og jeg kan her se under "System monitor" kun bliver brugt én processor. Hvorfor bliver begge ikke brugt til at regne? Er det ikke muligt at få dem til det?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer35

# 1

17 år 4 måneder siden

Permalink

Indsendt af Skunk den 4. marts 2008 kl. 17:21

Permalink

Re: Ubuntu: Brug begge processorer

Hvis du vil have ET program til at dele sig over 2 processorer, skal du vist lave programmet multi treaded. Men, spørg mig ikke hvordan :)
  • Log ind eller opret dig for at tilføje kommentarer

# 2

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 4. marts 2008 kl. 18:08

Permalink

Re: Ubuntu: Brug begge processorer

For det første er dit program uhyre ineffektivt, da det udregner rekursivt de samme værdier igen og igen. Så hvis du vil have et hurtigere program, skal du ændre din algoritme.
F.eks kan du huske alle tal du har regnet ud, gemme dem i en tabel, og ikke regne dem ud igen hvis du allerede har regnet det. Så vil du få mere hastighed, en at smide nok så mange dualcore efter programmet ;)

Du kan også prøve at finde et funktionsprogrammeringssprog, al'a Haskell. Så klarer compileren det hele for dig.

Der er tonsvis af metoder til at lave programmet multitrådet. Du kan kigge på openmp som er en compiler udvidelse til c++. Den gør det nemt at få ting til at køre med flere kerner og delt ram (som er det du har med at gøre).

  • Log ind eller opret dig for at tilføje kommentarer

# 3

17 år 4 måneder siden

Permalink

Indsendt af dennism den 4. marts 2008 kl. 18:12

Permalink

lean3 >>
Jeg er udemærket

lean3 >>

Jeg er udemærket klar over, at det er en rigtig dårlig måde at beregne det på. Men jeg forsøger at skrive et lille program som jeg vil kunne køre på min PS3 til sammenligning med min laptop, for at teste dens regnekraft! Derfor spiller det ingen rolle, at det er en håbløs måde at bestemme det på!

Men jeg bør altså skrive det i C++ istedet for C, da det er nemmere at lave multithreads der?
  • Log ind eller opret dig for at tilføje kommentarer

# 4

17 år 4 måneder siden

Permalink

Indsendt af kme den 4. marts 2008 kl. 18:19

Permalink

Re: Ubuntu: Brug begge processorer

Det program kan du ikke få til at køre multitrådet, for beregningerne er sekventielle.

EDIT: Men du kan jo lave to versioner - en der regner fra 0 til fem og en fra seks til ti og starte de to programmer samtidig. Så vil begge kerner automatisk blive benyttet.
  • Log ind eller opret dig for at tilføje kommentarer

# 5

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 4. marts 2008 kl. 18:30

Permalink

Re: Ubuntu: Brug begge processorer

Jeg kunne ikke dy mig for at lave det i openmp. Så her.

Du compiler det med g++ -fopenmp


#include
#include
#include

long int fibo(long int n) {
if (n==0)
return 0;
else if (n==1)
return 1;
else
return fibo(n-1)+fibo(n-2);
}

main() {
int start = 50;
int resultat = 0;
#pragma omp parallel sections
{
#pragma omp section
resultat += fibo(start - 2);
#pragma omp section
resultat += fibo(start - 1);
}
(void) printf("Test: %lu\n", resultat);
return(0);
}



  • Log ind eller opret dig for at tilføje kommentarer

# 6

17 år 4 måneder siden

Permalink

Indsendt af dennism den 4. marts 2008 kl. 19:20

Permalink

Du mener -openmå, ikke?
Jeg

Du mener -openmå, ikke?

Jeg kører dette:

>> g++ -openmp fib.cpp
fib.cpp:3:17: error: omp.h: No such file or directory
  • Log ind eller opret dig for at tilføje kommentarer

# 7

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 4. marts 2008 kl. 19:36

Permalink

Re: Ubuntu: Brug begge processorer

Kig i man g++ der står at du skal bruge -fopenmp

Hvilken version af g++ har du?

Jeg tror at f'et står for feature.
  • Log ind eller opret dig for at tilføje kommentarer

# 8

17 år 4 måneder siden

Permalink

Indsendt af dennism den 4. marts 2008 kl. 19:39

Permalink

Re: Ubuntu: Brug begge processorer

Jeg tror det er version 4.1.3 - kan det passe? Er det en gammel version?

Jeg får dette svar:

<< g++ -fopenmp fib.cpp
cc1plus: error: unrecognized command line option "-fopenmp"
  • Log ind eller opret dig for at tilføje kommentarer

# 9

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 4. marts 2008 kl. 22:39

Permalink

Re: Ubuntu: Brug begge processorer

Den er ikke særlig gammel - men desværre lidt for gammel til openmp. Der skal du have fat i 4.2, som er den nyeste.
  • Log ind eller opret dig for at tilføje kommentarer

# 10

17 år 4 måneder siden

Permalink

Indsendt af dennism den 4. marts 2008 kl. 23:26

Permalink

Re: Ubuntu: Brug begge processorer

Nogen der kan hjælpe mig med at installere den på Ubuntu 7.10? Altså g++ 4.2
  • Log ind eller opret dig for at tilføje kommentarer

# 11

17 år 4 måneder siden

Permalink

Indsendt af ondope den 5. marts 2008 kl. 08:14

Permalink

Re: Ubuntu: Brug begge processorer

deb pakke til 4.2
http://packages.ubuntu.com/gutsy/devel/g++-4.2

#12 nåh ok, regnede med han havde undersøgt den mulighed :)
  • Log ind eller opret dig for at tilføje kommentarer

# 12

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 5. marts 2008 kl. 08:25

Permalink

Bare skriv sudo apt-get

Bare skriv
sudo apt-get install g++-4.2

Bagefter kører du
sudo ln -s /usr/bin/g++-4,2 /usr/bin/g++

Alternativt kan du køre g++-4,2 direkte

g++-4,2 -fopenmp fib.cpp

/* EDIT - jeg vil være #12 */
  • Log ind eller opret dig for at tilføje kommentarer

# 13

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 08:26

Permalink

Re: Ubuntu: Brug begge processorer

Nu faar jeg denn fejl, naar jeg forsoger at kore:


g++ -fno-openmp fib.cppThe program 'g++' can be found in the following packages:
* g++
* pentium-builder
Try: sudo apt-get install
bash: g++: command not found
  • Log ind eller opret dig for at tilføje kommentarer

# 14

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 08:31

Permalink

Re: Ubuntu: Brug begge processorer

Jeg fik det til at køre nu - havde lavet en fejl med linket!

Mit spørgsmål er nu, om det er nok at uddele det til 2 tråde hvis det skal testes på PS3? Har den ikke mere end to processorer?
  • Log ind eller opret dig for at tilføje kommentarer

# 15

17 år 4 måneder siden

Permalink

Indsendt af christensen den 5. marts 2008 kl. 09:48

Permalink

#14 Jo den har 8.
Men du kan

#14 Jo den har 8.
Men du kan kun bruge de 6.
2 af dem er reserveret til andet.

http://en.wikipedia.org/wiki/PlayStation_3#Operating_system

Var det ikke noget med at der skulle ikke så mange PS3 maskiner til i cluster før den kom på top500?

Et billed af en Ps3 cluster setup
http://www.wired.com/techbiz/it/news/2007/10/ps3_supercomputer
  • Log ind eller opret dig for at tilføje kommentarer

# 16

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 12:43

Permalink

Re: Ubuntu: Brug begge processorer

Nu kommer næste problem så :(
Hvordan installerer jeg G++ 4.2 på debian?
  • Log ind eller opret dig for at tilføje kommentarer

# 17

17 år 4 måneder siden

Permalink

Indsendt af windzor den 5. marts 2008 kl. 13:03

Permalink

Re: Ubuntu: Brug begge processorer

#15 PS3 cluster kan ikke komme på top500 da en cell CPU ikke direkte er en general purpose CPU. Kun 1 af kernerne er general purpose og den er lang fra ny i forhold til "normale" general purpose CPU'er.
  • Log ind eller opret dig for at tilføje kommentarer

# 18

17 år 4 måneder siden

Permalink

Indsendt af xzer0 den 5. marts 2008 kl. 13:07

Permalink

Repo?

#16 Den ligger vel et sted i repos?
  • Log ind eller opret dig for at tilføje kommentarer

# 19

17 år 4 måneder siden

Permalink

Indsendt af windzor den 5. marts 2008 kl. 13:12

Permalink

Re: Ubuntu: Brug begge processorer

I debian ligger 4.2 i testing repoes http://packages.debian.org/lenny/g++
  • Log ind eller opret dig for at tilføje kommentarer

# 20

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 13:12

Permalink

Når jeg skriver:;
apt-get

Når jeg skriver:;
apt-get install g++-4.2
får jeg at vide, at pakken ikke findes?
  • Log ind eller opret dig for at tilføje kommentarer

# 21

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 13:13

Permalink

#19
Og hvad gør man så for

#19

Og hvad gør man så for at installere den?
  • Log ind eller opret dig for at tilføje kommentarer

# 22

17 år 4 måneder siden

Permalink

Indsendt af windzor den 5. marts 2008 kl. 13:18

Permalink

Re: Ubuntu: Brug begge processorer

#21 Man finder en guide til hvordan man installere testing pakker på et stable system.
F.eks. kan man hurtigt finde http://forums.spry.com/showthread.php?t=620 via google når man søger.
  • Log ind eller opret dig for at tilføje kommentarer

# 23

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 13:30

Permalink

Re: Ubuntu: Brug begge processorer

Der står jeg skal redigere filen /etc/apt/apt.conf.

Den finder ikke på min debian. Hvor ligger den så?
  • Log ind eller opret dig for at tilføje kommentarer

# 24

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 13:34

Permalink

Re: Ubuntu: Brug begge processorer

Min sources.list indeholder i øvrigt kun:


# deb http://debian.uni-essen.de/debian/ etch main
# deb http://ps3.keshi.org/debian ./

deb http://debian.uni-essen.de/debian/ etch main
deb-src http://debian.uni-essen.de/debian/ etch main

deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main


Hvordan skal en se ud, for at få testing med?
  • Log ind eller opret dig for at tilføje kommentarer

# 25

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 15:07

Permalink

Re: Ubuntu: Brug begge processorer

Jeg fik rettet min sources.list til og G++ 4.2 er nu installeret!

Det viser sig dog, at min laptop er 3m51.038s om at finde fib50, mens PS3 er meget længere om det - afbrød da det tog for lang tid! Hvordan kan jeg teste, om debian kan køre multithread? Altså om den kan bruge alle processorerne!
  • Log ind eller opret dig for at tilføje kommentarer

# 26

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 5. marts 2008 kl. 16:07

Permalink

Re: Ubuntu: Brug begge processorer

Du kan kigge i top, og ser hvor meget processorkraft programmet bruger.

Du skal huske på at den version jeg lavede kun er til to cpu'er. Kan du rette den til 6, så du får fuld udnyttelse?

Du kan også prøve at finde og downloade IBM's compiler (det er dem der laver Cell chippen i PS3). Den hedder xlc og er hurtigere end g++.
  • Log ind eller opret dig for at tilføje kommentarer

# 27

17 år 4 måneder siden

Permalink

Indsendt af dennism den 5. marts 2008 kl. 16:09

Permalink

Re: Ubuntu: Brug begge processorer

Jeg har rettet programmet til, så der kører 6 tråde! Det fungerer fint på min laptop!

Hvor i top kan jeg se, hvor mange af processorerne der bliver brugt?

Cpu(s): 8.5%us, 3.3%sy, 0.0%ni, 88.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
  • Log ind eller opret dig for at tilføje kommentarer

# 28

17 år 4 måneder siden

Permalink

Indsendt af dennism den 6. marts 2008 kl. 07:40

Permalink

Re: Ubuntu: Brug begge processorer

Hvordan ser man, hvor mange % hver CPU kører med? Kan man se det i top?

Det er nemt at se i GNOME under "system monitor" - men jeg har ikke gnome installeret på min debian. Håber der er nogen der kan hjælpe mig!
  • Log ind eller opret dig for at tilføje kommentarer

# 29

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 6. marts 2008 kl. 08:12

Permalink

Re: Ubuntu: Brug begge processorer

Den bruger kun 8.5% af cpu'en. Kernen bruger 3.3& og 88.2% laver ingenting. Så det funker ikke endnu.
Jeg vil gætte på at den g++ 4.2 du har fat i, ikke kan compile til CELL. Det er bare et gæt.

Prøv at bruge IBM's xlc. Den er ikke open source, men lavet til formålet. Så det er en god test for at se om der er hul igennem.
  • Log ind eller opret dig for at tilføje kommentarer

# 30

17 år 4 måneder siden

Permalink

Indsendt af dennism den 6. marts 2008 kl. 08:22

Permalink

Re: Ubuntu: Brug begge processorer

jeg har installeret xlc med apt-get, men får nu denne fejl, når jeg forsøger at compile:


dennis-ps3:/home/dennis# xlc -c fib.cpp

xlc[m] Copyright 2001-2004 by S. Fuchs [http://linecontrol.srf.ch/]
Licensed under the GPL, see file LICENSE of the distribution package.
version: 1.0.6

Gtk-WARNING **: cannot open display:


Gør jeg det forkert?
  • Log ind eller opret dig for at tilføje kommentarer

# 31

17 år 4 måneder siden

Permalink

Indsendt af floop den 6. marts 2008 kl. 08:36

Permalink

Re: Ubuntu: Brug begge processorer

#14 og #26 ps3'en har faktisk 9, 8 spe's og 1 ppe - en af spe'erne udgår for at gøre produktionen af ps3 billigere, og ps3 har derfor "kun" 8 kerner :)

Tjek evt. wiki - der er oplyst 7 spe'er under ps3 og 8 under cell - derfor er den i forvejen modregnet under ps3 opslaget :P

*Edit*
Og nå ja, når man kører linux har man så kun 6 tilbage, da ps3'ens eget styresystem kører i bagrunden :(
  • Log ind eller opret dig for at tilføje kommentarer

# 32

17 år 4 måneder siden

Permalink

Indsendt af dennism den 6. marts 2008 kl. 13:51

Permalink

Re: Ubuntu: Brug begge processorer

Ingen der kan hjælpe med at compile med xlc? :(
  • Log ind eller opret dig for at tilføje kommentarer

# 33

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 6. marts 2008 kl. 14:23

Permalink

Re: Ubuntu: Brug begge processorer

Prøv at kig grundigt på den fejl du får, og evt google lidt rundt hvad den betyder. Jeg tror du vil blive overrasket over resultatet.
  • Log ind eller opret dig for at tilføje kommentarer

# 34

17 år 4 måneder siden

Permalink

Indsendt af dennism den 6. marts 2008 kl. 14:44

Permalink

Re: Ubuntu: Brug begge processorer

Jeg har søgt efter:
Gtk-WARNING **: cannot open display:

Men synes ikke jeg får noget jeg kan bruge :(
  • Log ind eller opret dig for at tilføje kommentarer

# 35

17 år 4 måneder siden

Permalink

Indsendt af lean3 den 7. marts 2008 kl. 10:11

Permalink

Re: Ubuntu: Brug begge processorer

Forklaringen er at det er det forkerte program du har installeret. Jeg havde regnet med at du lige ville være gået ind på http://linecontrol.srf.ch/ for at se hvad det var for noget ;)

Da xlc ikke er open source eller gratis, kan du downloade en trial herfra. Du skal først registrere dig.
http://www14.software.ibm.com/webapp/download/preconfig.jsp?id=2007-10-…

Og hvad er det for noget med at spørge på andre forums. Jeg sagde at du skulle undersøge fejlen, dvs læse output og søge på google, ikke få andre til det :O

Ej, fint gåpåmod der, håber det lykkes at få dem til at spille på den ene eller anden måde.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

den er sjov 3
PCLinuxOS 29
Reserve kernel og btrfs 3
En snak om Linux-kompatibel software 12
"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
Nulstilling af adgangskode 6
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !