[EDIT] Question license : code multi architecture vectorielle

Question license : code multi architecture vectorielle [EDIT] - C++ - Programmation

Marsh Posté le 08-02-2005 à 13:40:30    

Bon voila.
 
Soit un ensemble de classe et de fonction template destinée au calcul matriciel.
Je veut pouvoir, par le moins de duplication de code et de pirouette pouvoir utilisé la même INTERFACE
pour disons :
 
* du code normal (scalire, bête et mechant)
* du code vectoriel sous mac (altivec)
* du code vectoriel sous paiçai (sse2)
* n'importequel extension propriétaire vectoriel (MDMAX,NEon etc...)
 
le tout avec au mieux un simple changement de -DUSE_xxxx_EXTENSION.
 
Chaque truc est evidemment cloisonné. Je peut pas melanger du SSE avec du AltiVec hein [:dawa]
Par contre si une fonction (par ex. atan2) n'existe pas ou n'est pas "rentable" en sse ou en altivec je veut retomber sur mes pattes en utilisant la version de base.
 
Des idées ???
 
EDIT : et quid de la license


Message édité par Joel F le 10-02-2005 à 16:01:03
Reply

Marsh Posté le 08-02-2005 à 13:40:30   

Reply

Marsh Posté le 08-02-2005 à 13:47:59    

ben déjà, tu verais bien de fuire les ifmachin ... mieux vaut faire un peu comme linux
 
altivec/ sse/ generic/
 
où altivec/ peut aller piocher dans generic/ et gérer le tout là compilation.
 
pourquoi pas un stub/ qui fournit l'implementation stub/fonction.cpp si <arch>/fonction.cpp n'existe pas

Reply

Marsh Posté le 08-02-2005 à 14:37:24    

Taz a écrit :

ben déjà, tu verais bien de fuire les ifmachin ... mieux vaut faire un peu comme linux
 
altivec/ sse/ generic/
 
où altivec/ peut aller piocher dans generic/ et gérer le tout là compilation.
 
pourquoi pas un stub/ qui fournit l'implementation stub/fonction.cpp si <arch>/fonction.cpp n'existe pas


 
c'est ce à quoi je pensais, mais je vois mal la chose à faire sans passer par  #ifdef  :sweat:


Message édité par Joel F le 10-02-2005 à 15:09:54
Reply

Marsh Posté le 08-02-2005 à 14:42:26    

(melanger du SSE et du code FPU stdard ca va faire faire de drole de pirouette au compilo quand meme)

Reply

Marsh Posté le 08-02-2005 à 14:51:23    

chrisbk a écrit :

(melanger du SSE et du code FPU stdard ca va faire faire de drole de pirouette au compilo quand meme)


 
m'en fous, ca c'est user dependant. Avec Altivec et Neon on  a pas ce genre de probleme. SSE ca puduku :o

Reply

Marsh Posté le 10-02-2005 à 12:49:20    


Pour les ceusses (comme moi) qui ont même pas envie d'apprendre à coder du SIMD en assembleur, il y a ça aussi comme lib disponible en multi-techno:
http://www.pixelglow.com/macstl/
 
J'ai pas encore bien regardé, mais ça a l'air alléchant... Attention à la license ceci-dit, c'est du RPL (Reciprocal).

Reply

Marsh Posté le 10-02-2005 à 14:49:52    

..... merci du tuyeau mais bon, c'est DEJA ce que je fait ^^
(et bien avant lui en plus :o)


Message édité par Joel F le 10-02-2005 à 15:10:01
Reply

Marsh Posté le 10-02-2005 à 14:53:10    

Joel F a écrit :

..... merci du tuyeau mais bon, c'est DEJA ce que je fait ^^
(et bien avant lui en plus :o)


Oui je sais (enfin, j'avais compris). Mais tu aurais peut-être envie de regarder comment ils ont résolu leur problèmes de multi-technos.
 
Et pour ceux comme moi qui n'ont pas accès à ton code, bah ça peut être une bonne occasion de voir à quoi ça ressemble...

Reply

Marsh Posté le 10-02-2005 à 15:09:37    

Lam's a écrit :

Oui je sais (enfin, j'avais compris). Mais tu aurais peut-être envie de regarder comment ils ont résolu leur problèmes de multi-technos.
 
Et pour ceux comme moi qui n'ont pas accès à ton code, bah ça peut être une bonne occasion de voir à quoi ça ressemble...


 
Ben j'ai regarder, et c'est des moches DEFINE ^^ exactement ce que je veut eviter.
 
Pour mon code, t'as deja cliquer sur ma signature, EVE est en LGPL tu sais [:dawa]

Reply

Marsh Posté le 10-02-2005 à 15:22:06    

Joel F a écrit :

Ben j'ai regarder, et c'est des moches DEFINE ^^ exactement ce que je veut eviter.
 
Pour mon code, t'as deja cliquer sur ma signature, EVE est en LGPL tu sais [:dawa]


J'avais même pas fait gaffe, tiens! J'y jetterai un oeil ce soir. :)
edit: EVE fait du MMX ou du SSE ?


Message édité par Lam's le 10-02-2005 à 15:22:52
Reply

Marsh Posté le 10-02-2005 à 15:22:06   

Reply

Marsh Posté le 10-02-2005 à 15:30:58    

Joel F a écrit :

Ben j'ai regarder, et c'est des moches DEFINE ^^ exactement ce que je veut eviter.
 
Pour mon code, t'as deja cliquer sur ma signature, EVE est en LGPL tu sais [:dawa]


c'est pas possible ça, EVE c'est des template, tu ne peux donc pas appliquer la LGPL dessus

Reply

Marsh Posté le 10-02-2005 à 15:34:34    

Taz a écrit :

c'est pas possible ça, EVE c'est des template, tu ne peux donc pas appliquer la LGPL dessus


 
o_O pardon ???
mon chef m'a menti [:dawa] ^^
 
explications svpt ?

Reply

Marsh Posté le 10-02-2005 à 15:35:02    

Lam's a écrit :

J'avais même pas fait gaffe, tiens! J'y jetterai un oeil ce soir. :)
edit: EVE fait du MMX ou du SSE ?


 
bientôt  
 [:spyer]

Reply

Marsh Posté le 10-02-2005 à 15:35:31    

Joel F a écrit :

o_O pardon ???
mon chef m'a menti [:dawa] ^^
 
explications svpt ?


ben t'es en template, donc le soft qui utilise EVE, il ne link pas avec EVE, il incorpore EVE.

Reply

Marsh Posté le 10-02-2005 à 15:35:49    

et donc, la license que je dois utiliser est ?

Reply

Marsh Posté le 10-02-2005 à 15:44:43    

wxWidgets ?
edit:
http://www.wxwidgets.org/newlicen.htm

Citation :

The wxWidgets 2 licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms. This is a solution that satisfies those who wish to produce GPL'ed software using wxWidgets, and also those producing proprietary software.


Message édité par Lam's le 10-02-2005 à 15:45:39
Reply

Marsh Posté le 10-02-2005 à 15:45:03    

Lam's a écrit :

wxWidgets ?


 
J'ai peur de rater l'astuce ^^

Reply

Marsh Posté le 10-02-2005 à 15:47:30    

j'ai édité [:dawa]

Reply

Marsh Posté le 10-02-2005 à 15:49:17    

c mieux :D mais bon :-/ je sais pas si ca correspondt bien a ce que je fais.
 

Reply

Marsh Posté le 10-02-2005 à 15:54:50    

tu veux faire quoi de ton code ?

Reply

Marsh Posté le 10-02-2005 à 16:00:33    

* pouvoir l'inclure dans d'eventuels projets commerciaux au boulot
MAIS
* le laisser ouvert et utilisable sans grosse contrainte à coté

Reply

Marsh Posté le 10-02-2005 à 16:07:14    

commerciaux = proprios ?
 
le laisser ouvert à qui ? sous quelles conditions ? que faire des modifications ? de la redistribution ?

Reply

Marsh Posté le 10-02-2005 à 16:10:35    

Taz a écrit :

commerciaux = proprios ?
 
le laisser ouvert à qui ? sous quelles conditions ? que faire des modifications ? de la redistribution ?


 
Grosso modo, je dois pouvoir l'inclure dans des projets venant de contrats de boites qui elles ne feront pas d'Open Source. Par contre je veut rester le moins contraignant possible pour le reste de la communauté (pas de GPL ou de GNu contaminante etc ...)

Reply

Marsh Posté le 10-02-2005 à 16:13:40    

ben à cause des template, si t'as pas un truc contaminant, comme ta bibliothèque DEVIENT l'appli, et bien tu peux rien faire, t'es cuit.

Reply

Marsh Posté le 10-02-2005 à 16:14:13    

I am refait donc :D

Reply

Marsh Posté le 10-02-2005 à 16:15:22    

après il faut voir : tu veux te protéger et garder ton copyright ou pas ?

Reply

Marsh Posté le 10-02-2005 à 16:16:31    

BSD

Reply

Marsh Posté le 10-02-2005 à 16:16:36    

Taz a écrit :

après il faut voir : tu veux te protéger et garder ton copyright ou pas ?


 
rajoute le fait qu'à la base c'ets un travail de <recherche> mis à disposition du public, le deteneur du (c) est mon université de rattachement :|
 
Bref :x a part les droits de paternités et d'auteurs , j'ai pô grand chose.

Reply

Marsh Posté le 10-02-2005 à 16:17:58    

le copyright, c'est LE droit par excellence. Le truc, c'est que même avec une licence qui protège ton copyright, genre une BSD, à partir du moment tu te fonds dans le code d'une appli, laisse tomber, t'es complètement spolié

Reply

Marsh Posté le 10-02-2005 à 16:20:17    

bon ben je vais garde rl'espece de 'siouplait mettez mon nom qqpart merci' et puis basta :sol:

Reply

Marsh Posté le 10-02-2005 à 16:27:16    

ouais, ben ça tu peux te brosser ... surtout si libeve.so apparait pas telle quelle

Reply

Marsh Posté le 10-02-2005 à 16:30:07    

Taz a écrit :

ouais, ben ça tu peux te brosser ... surtout si libeve.so apparait pas telle quelle


 
 [:joel f] y aura du mal ... ^^ ou alors je fait le chacal a rajouter un truc compilé (style interface vers gnuplot) histoire d'avoir un objet qq part :D

Reply

Marsh Posté le 10-02-2005 à 16:36:55    

ce que je veux dire, c'est que pour moi, soit tu fais du domaine publique, ou du BSD, t'abadonne tout, soit tu fais du GPL, ce qui peux ne pas être si contraignant que ça si tu fais du custom software

Reply

Marsh Posté le 10-02-2005 à 16:37:43    

je vais peut etre dire une connerie mais c'est pas là l'interet des doubles licenses ?
GPL pour les gentils et une autre pour ceux qui veulent utiliser ton truc dans du code fermé ?

Reply

Marsh Posté le 10-02-2005 à 17:04:50    

Taz a écrit :

le copyright, c'est LE droit par excellence. Le truc, c'est que même avec une licence qui protège ton copyright, genre une BSD, à partir du moment tu te fonds dans le code d'une appli, laisse tomber, t'es complètement spolié


 
Pour être plus précis, le copyright (le droit de copier) n'existe pas en tant que tel en France, il est fondu dans le droit à la propriété intellectuelle (auxquels les logiciels sont spécialement rattachés):
http://www.cfcopies.com/V2/leg/leg_text.php

Reply

Marsh Posté le 10-02-2005 à 17:08:32    

nico168 a écrit :

je vais peut etre dire une connerie mais c'est pas là l'interet des doubles licenses ?
GPL pour les gentils et une autre pour ceux qui veulent utiliser ton truc dans du code fermé ?


Ce n'est pas le problème précis ici. Le problème, c'est que vis à vis du code template (qui est donc directement intégré à ton appli), la LGPL ne sait pas faire pas la différence entre ces 2 cas:
Je prends ta lib, je la modifie dans tous les sens et je la redistribue sous forme compilée.
Je prends ta lib, je l'incorpore à mon appli fermée que je redistribie sous forme compilée.  
 
Il me semble que la LGPL inclus une section pour ça:

Citation :

If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)

 
Mais ça reste à déterminer au cas par cas...

Reply

Marsh Posté le 10-02-2005 à 17:34:15    


[:romf]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 10-02-2005 à 17:37:46    

Bon je vais potasser tous ça et en parler au chef.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed