Matrisberäkningar med för STM32?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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å.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45272
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av TomasL »

Al_Bundy skrev:Säger du samma sak till dem som använder deep learning med TensorFlow? :doh:

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.
Användarvisningsbild
säter
Inlägg: 32547
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Matrisberäkningar med för STM32?

Inlägg 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.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 908
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Matrisberäkningar med för STM32?

Inlägg 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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45272
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

TomasL skrev:
Al_Bundy skrev:Säger du samma sak till dem som använder deep learning med TensorFlow? :doh:

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å.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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"...

Bild
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 908
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Matrisberäkningar med för STM32?

Inlägg 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.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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...
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Jadu. Jag kör Eclipse IDE :) Både när det kommer till Java och STM32.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45272
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg 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
SeniorLemuren
Inlägg: 7809
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Matrisberäkningar med för STM32?

Inlägg 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;
}
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 908
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Matrisberäkningar med för STM32?

Inlägg av mankan »

@TomasL: Jag kollade storleken på textsegmenten i filerna.
Skriv svar