Sida 4 av 70
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:26:06
av Al_Bundy
Nej. Jag har inte tid att bygga hjulet på nytt. Finns ingen anledning till detta.
Dessa bibliotek är garanterat vektoriserade och skulle jag göra en 2x2 matris i C så hade den varit 2x2 oeffektivare också.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:29:23
av TomasL
Al_Bundy skrev:Säger du samma sak till dem som använder deep learning med TensorFlow?
Tycker du borde tänka ett seg längre än att få dessa mystiska utbrott.
Inga mystiska utbrott, bara svar på det du skriver.
"Har inte tid" betyder "Vill inte" eftersom det alltid går fortare att göra det på rätt sätt.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:35:34
av säter
mankan skrev:Någon annan har gjort det åt dig och paketerat det hela för din utvecklingsmiljö.
Ja ha, jag trodde att dessa "bibliotek" genererade källkod.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:39:06
av mankan
Kollade just hur stort GSL är och det är stort, det tar över 2.4MB på min gamla i686. Förhoppningsvis kan man välja bort allt man inte behöver vid kompileringen för annars blir det nog trångt i STM32:ans flash på 512kB. Bara BLAS-delen verkar ta 200kB.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:42:19
av TomasL
Finns två typer av bibliotek, dels bibliotek som består av ren kälkod, och därmed kompileras och länkas som vilken annan källkodsfil som helst.
Sedan finns det bibliotek i objektkod, dessa är förkompilerade för plattformen, och länkas in i dit program. (Fördel, mycket snabbare).
Till exempel Microchip tillhandahåller förkompilerade objekt-kods bibliotek i alla fria kompilatorer, betalar du så får du källkodsbiblioteken
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:45:12
av Al_Bundy
TomasL skrev:Al_Bundy skrev:Säger du samma sak till dem som använder deep learning med TensorFlow?
Tycker du borde tänka ett seg längre än att få dessa mystiska utbrott.
Inga mystiska utbrott, bara svar på det du skriver.
"Har inte tid" betyder "Vill inte" eftersom det alltid går fortare att göra det på rätt sätt.
Rätt sätt är att man använder ett beprövat bibliotek som har hängt med. Biblioteket är av hög kvalité och är skapad av riktigt folk.
Jag kan inte motivera varför jag ska göra "dåliga" matriser när det finns bättre matriser att fokusera på.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:46:26
av Al_Bundy
mankan skrev:Kollade just hur stort GSL är och det är stort, det tar över 2.4MB på min gamla i686. Förhoppningsvis kan man välja bort allt man inte behöver vid kompileringen för annars blir det nog trångt i STM32:ans flash på 512kB. Bara BLAS-delen verkar ta 200kB.
Så du menar att om jag gör en 2x2 matris i ett C program så blir programmet automatiskt 2.4 Mb?
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:51:13
av sodjan
Säter, om du är intresserad av hur en normal kompilerings/länknings process
går till, så går det säkert att hitta massor av information om det. Kanske lite
onödigt med så basala frågor i en tråd som handlar om något helt annat. Jag
kan bara avsluta med ett visa en lite förenklad bild över processen. Notera
där det står "Libraries"...

Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:54:19
av mankan
Al_Bundy skrev:Så du menar att om jag gör en 2x2 matris i ett C program så blir programmet automatiskt 2.4 Mb?
Antagligen inte.
Har din miljö en vettig länkare så tar den bara med kod du använder från biblioteken.
Om du däremot kör på en miljö som har dynamiskt länkade bibliotek så blir trångt i flashet om du inte noggrant valt bort det du inte behöver i GSL vid kompilering av GSL.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:55:34
av sodjan
> Biblioteket är av hög kvalité och är skapad av riktigt folk...
Syftar det där på något specifikt bibliotek som du känner till?
För det gäller ju självklart inte generellt, bibliotek (oavsett om det
är källkod eller objektkod) kan så klart ha vilken kvalitet som helst.
Jag vet ingenting om "GSL", men rent generellt så ska/bör en vettig
länkare enbart länka in det som faktiskt behövs i applikationen. Sen
så kan ju en del bibliotek ha ganska stora generella delar som alltid
kommer med vid länkningen i alla fall...
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:56:28
av Al_Bundy
Jadu. Jag kör Eclipse IDE

Både när det kommer till Java och STM32.
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:57:13
av Al_Bundy
sodjan skrev:> Biblioteket är av hög kvalité och är skapad av riktigt folk...
Syftar det där på något specifikt bibliotek som du känner till?
För det gäller ju självklart inte generellt, bibliotek (oavsett om det
är källkod eller objektkod) kan så klart ha vilken kvalitet som helst.
Jag vet ingenting om "GSL", men rent generellt så ska/bör en vettig
länkare enbart länka in det som faktiskt behövs i applikationen. Sen
så kan ju en del bibliotek ha ganska stora generella delar som alltid
kommer med vid länkningen i alla fall...
Är det inte Atollic TrueSTUDIO, dvs utvecklingsverktyget mitt, som sköter detta?
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:57:38
av TomasL
Al_Bundy skrev:mankan skrev:Kollade just hur stort GSL är och det är stort, det tar över 2.4MB på min gamla i686. Förhoppningsvis kan man välja bort allt man inte behöver vid kompileringen för annars blir det nog trångt i STM32:ans flash på 512kB. Bara BLAS-delen verkar ta 200kB.
Så du menar att om jag gör en 2x2 matris i ett C program så blir programmet automatiskt 2.4 Mb?
Nej naturligtvis inte, men bibilioteket som sådant, om det är klantigt skrivet, kan ladda den overheaden.
Att ett bibliotek upptar en viss diskyta i utvecklingssystemet är inte samma sak som den plats de använda funktionerna tar i målprocessorn.
>>> Biblioteket är av hög kvalité och är skapad av riktigt folk...
Rätt många "fria" bibliotek brukar vara av medioker kvalitet
Re: Matrisberäkningar med för STM32?
Postat: 8 januari 2019, 23:59:05
av SeniorLemuren
Här kan man se att man endast länkar de funktionerna man använder.
(#include <gsl/gsl_sf_bessel.h>)
Kod: Markera allt
An Example Program
The following short program demonstrates the use of the library by computing the value of the Bessel function J_0(x) for x=5:
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
int
main (void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0 (x);
printf ("J0(%g) = %.18e\n", x, y);
return 0;
}
Re: Matrisberäkningar med för STM32?
Postat: 9 januari 2019, 00:00:10
av mankan
@TomasL: Jag kollade storleken på textsegmenten i filerna.