[Ffc] Redesign
Marie and I have had some discussions on the redesign and FFC and here's what came out: https://blueprints.launchpad.net/ffc/+spec/ffc-redesign This allows us to remove both FiniteElement and DofMap since we won't be needing any of those in the code generation stage. Also note that we were quite on track when we coined the term "form representation". Turns out the correct name for this kind of process in a compiler is Intermediate Representation or IR. The input to the computation of the IR should be the preprocessed form and form metadata (FormData) and the output should be the IR which is just a dictionary of stuff we need to generating code. Everything complex should happen during the generation of the IR which means will help reduce the complications of the later code generation. -- Anders signature.asc Description: Digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
Anders Logg wrote: > Marie and I have had some discussions on the redesign and FFC and > here's what came out: > > https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > > This allows us to remove both FiniteElement and DofMap since we won't > be needing any of those in the code generation stage. > And where does the transition to the new FIAT fit in? Garth > Also note that we were quite on track when we coined the term "form > representation". Turns out the correct name for this kind of process > in a compiler is Intermediate Representation or IR. > > The input to the computation of the IR should be the preprocessed form > and form metadata (FormData) and the output should be the IR which is > just a dictionary of stuff we need to generating code. Everything > complex should happen during the generation of the IR which means > will help reduce the complications of the later code generation. > > -- > Anders > > > > > ___ > Mailing list: https://launchpad.net/~ffc > Post to : ffc@lists.launchpad.net > Unsubscribe : https://launchpad.net/~ffc > More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: > > > Anders Logg wrote: > > Marie and I have had some discussions on the redesign and FFC and > > here's what came out: > > > > https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > > > > This allows us to remove both FiniteElement and DofMap since we won't > > be needing any of those in the code generation stage. > > > > And where does the transition to the new FIAT fit in? It's quite orthogonal to that. We just need to make sure that we use the new FIAT interface in stage 2. Note that with this new design (which is really just a stricter and cleaner version of what I originally intended) FIAT will only be called in stage 2 which will make things easier. I will start on changing things from the top and down, starting with cleanups in compiler.py and then we can go from there. -- Anders > Garth > > > Also note that we were quite on track when we coined the term "form > > representation". Turns out the correct name for this kind of process > > in a compiler is Intermediate Representation or IR. > > > > The input to the computation of the IR should be the preprocessed form > > and form metadata (FormData) and the output should be the IR which is > > just a dictionary of stuff we need to generating code. Everything > > complex should happen during the generation of the IR which means > > will help reduce the complications of the later code generation. > > > > signature.asc Description: Digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
Anders Logg wrote: > On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: >> >> Anders Logg wrote: >>> Marie and I have had some discussions on the redesign and FFC and >>> here's what came out: >>> >>> https://blueprints.launchpad.net/ffc/+spec/ffc-redesign >>> >>> This allows us to remove both FiniteElement and DofMap since we won't >>> be needing any of those in the code generation stage. >>> >> And where does the transition to the new FIAT fit in? > > It's quite orthogonal to that. We just need to make sure that we use > the new FIAT interface in stage 2. > > Note that with this new design (which is really just a stricter > and cleaner version of what I originally intended) FIAT will only be > called in stage 2 which will make things easier. > > I will start on changing things from the top and down, starting with > cleanups in compiler.py and then we can go from there. > I am completely confused by the strategy. We discussed moving the work on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement has been removed and the message says that everything is broken. We to have several things going on at once, none of which are working. Would it be more sensible to make one thing at a time work? There seems to be no clear plan. Garth > -- > Anders > > >> Garth >> >>> Also note that we were quite on track when we coined the term "form >>> representation". Turns out the correct name for this kind of process >>> in a compiler is Intermediate Representation or IR. >>> >>> The input to the computation of the IR should be the preprocessed form >>> and form metadata (FormData) and the output should be the IR which is >>> just a dictionary of stuff we need to generating code. Everything >>> complex should happen during the generation of the IR which means >>> will help reduce the complications of the later code generation. >>> >> ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
On Wed, Dec 16, 2009 at 07:16:08PM +, Garth N. Wells wrote: > > > Anders Logg wrote: > > On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: > >> > >> Anders Logg wrote: > >>> Marie and I have had some discussions on the redesign and FFC and > >>> here's what came out: > >>> > >>> https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > >>> > >>> This allows us to remove both FiniteElement and DofMap since we won't > >>> be needing any of those in the code generation stage. > >>> > >> And where does the transition to the new FIAT fit in? > > > > It's quite orthogonal to that. We just need to make sure that we use > > the new FIAT interface in stage 2. > > > > Note that with this new design (which is really just a stricter > > and cleaner version of what I originally intended) FIAT will only be > > called in stage 2 which will make things easier. > > > > I will start on changing things from the top and down, starting with > > cleanups in compiler.py and then we can go from there. > > > > I am completely confused by the strategy. We discussed moving the work > on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement > has been removed and the message says that everything is broken. We to > have several things going on at once, none of which are working. Would > it be more sensible to make one thing at a time work? There seems to be > no clear plan. The redesign is difficult to do one step at a time. I would have liked to do it in careful steps but I don't see how. Here's a more detailed plan: 1. I rework compile.py tonight. 2. We make the compiler stages work again, one at a time. As part of step 2, we make sure that we a) Use the new FIAT interface b) Use the code Kristian has been working on for evaluate_basis -- Anders signature.asc Description: Digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
Anders Logg wrote: > On Wed, Dec 16, 2009 at 07:16:08PM +, Garth N. Wells wrote: >> >> Anders Logg wrote: >>> On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: Anders Logg wrote: > Marie and I have had some discussions on the redesign and FFC and > here's what came out: > > https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > > This allows us to remove both FiniteElement and DofMap since we won't > be needing any of those in the code generation stage. > And where does the transition to the new FIAT fit in? >>> It's quite orthogonal to that. We just need to make sure that we use >>> the new FIAT interface in stage 2. >>> >>> Note that with this new design (which is really just a stricter >>> and cleaner version of what I originally intended) FIAT will only be >>> called in stage 2 which will make things easier. >>> >>> I will start on changing things from the top and down, starting with >>> cleanups in compiler.py and then we can go from there. >>> >> I am completely confused by the strategy. We discussed moving the work >> on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement >> has been removed and the message says that everything is broken. We to >> have several things going on at once, none of which are working. Would >> it be more sensible to make one thing at a time work? There seems to be >> no clear plan. > > The redesign is difficult to do one step at a time. I would have liked > to do it in careful steps but I don't see how. > > Here's a more detailed plan: > > 1. I rework compile.py tonight. > If the changes are so close, why is the target for the Blueprint release 0.9 (we're at 0.7.1 now)? > 2. We make the compiler stages work again, one at a time. > > As part of step 2, we make sure that we > > a) Use the new FIAT interface > > b) Use the code Kristian has been working on for evaluate_basis > Kristian: what's the prognosis on this? Garth > -- > Anders ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
On Wed, Dec 16, 2009 at 07:30:01PM +, Garth N. Wells wrote: > > > Anders Logg wrote: > > On Wed, Dec 16, 2009 at 07:16:08PM +, Garth N. Wells wrote: > >> > >> Anders Logg wrote: > >>> On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: > Anders Logg wrote: > > Marie and I have had some discussions on the redesign and FFC and > > here's what came out: > > > > https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > > > > This allows us to remove both FiniteElement and DofMap since we won't > > be needing any of those in the code generation stage. > > > And where does the transition to the new FIAT fit in? > >>> It's quite orthogonal to that. We just need to make sure that we use > >>> the new FIAT interface in stage 2. > >>> > >>> Note that with this new design (which is really just a stricter > >>> and cleaner version of what I originally intended) FIAT will only be > >>> called in stage 2 which will make things easier. > >>> > >>> I will start on changing things from the top and down, starting with > >>> cleanups in compiler.py and then we can go from there. > >>> > >> I am completely confused by the strategy. We discussed moving the work > >> on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement > >> has been removed and the message says that everything is broken. We to > >> have several things going on at once, none of which are working. Would > >> it be more sensible to make one thing at a time work? There seems to be > >> no clear plan. > > > > The redesign is difficult to do one step at a time. I would have liked > > to do it in careful steps but I don't see how. > > > > Here's a more detailed plan: > > > > 1. I rework compile.py tonight. > > > > If the changes are so close, why is the target for the Blueprint release > 0.9 (we're at 0.7.1 now)? I thought we bump the version number since it's such a major change. We moved to 0.7 when we moved to UFL and I figured we could perhaps jump to 0.9 when this is done, to indicate that we're just as close to 1.0 as DOLFIN. So hopefully we can release 0.9 in the very near future. It will take a major effort but I think we can get it done quickly. -- Anders > > 2. We make the compiler stages work again, one at a time. > > > > As part of step 2, we make sure that we > > > > a) Use the new FIAT interface > > > > b) Use the code Kristian has been working on for evaluate_basis > > > > Kristian: what's the prognosis on this? > > Garth > > > signature.asc Description: Digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
2009/12/16 Anders LoggOn Wed, Dec 16, 2009 at 07:16:08PM +, Garth N. Wells wrote: > > > Anders Logg wrote: > > On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: > >> > >> Anders Logg wrote: > >>> Marie and I have had some discussions on the redesign and FFC and > >>> here's what came out: > >>> > >>> https://blueprints.launchpad.net/ffc/+spec/ffc-redesign The end result looks very nice. I think it makes sense. > >>> > >>> This allows us to remove both FiniteElement and DofMap since we won't > >>> be needing any of those in the code generation stage. > >>> > >> And where does the transition to the new FIAT fit in? > > > > It's quite orthogonal to that. We just need to make sure that we use > > the new FIAT interface in stage 2. > > > > Note that with this new design (which is really just a stricter > > and cleaner version of what I originally intended) FIAT will only be > > called in stage 2 which will make things easier. > > > > I will start on changing things from the top and down, starting with > > cleanups in compiler.py and then we can go from there. > > > > I am completely confused by the strategy. We discussed moving the work > on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement > has been removed and the message says that everything is broken. We to > have several things going on at once, none of which are working. Would > it be more sensible to make one thing at a time work? There seems to be > no clear plan. The redesign is difficult to do one step at a time. I would have liked to do it in careful steps but I don't see how. Here's a more detailed plan: 1. I rework compile.py tonight. 2. We make the compiler stages work again, one at a time. As soon as stage 1 is complete we can work on both representations in parallel? As part of step 2, we make sure that we a) Use the new FIAT interface b) Use the code Kristian has been working on for evaluate_basis OK. Kristian -- Anders -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkspM54ACgkQTuwUCDsYZdHzbwCdFvFPPYvxTRObm8sfqpJ01HHF 9GUAoJA1N+eT3SRg249C2+FwNng8MQNW =jgbw -END PGP SIGNATURE- ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp signature.asc Description: OpenPGP digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
2009/12/16 Garth N. WellsAnders Logg wrote: > On Wed, Dec 16, 2009 at 07:16:08PM +, Garth N. Wells wrote: >> >> Anders Logg wrote: >>> On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: Anders Logg wrote: > Marie and I have had some discussions on the redesign and FFC and > here's what came out: > > https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > > This allows us to remove both FiniteElement and DofMap since we won't > be needing any of those in the code generation stage. > And where does the transition to the new FIAT fit in? >>> It's quite orthogonal to that. We just need to make sure that we use >>> the new FIAT interface in stage 2. >>> >>> Note that with this new design (which is really just a stricter >>> and cleaner version of what I originally intended) FIAT will only be >>> called in stage 2 which will make things easier. >>> >>> I will start on changing things from the top and down, starting with >>> cleanups in compiler.py and then we can go from there. >>> >> I am completely confused by the strategy. We discussed moving the work >> on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement >> has been removed and the message says that everything is broken. We to >> have several things going on at once, none of which are working. Would >> it be more sensible to make one thing at a time work? There seems to be >> no clear plan. > > The redesign is difficult to do one step at a time. I would have liked > to do it in careful steps but I don't see how. > > Here's a more detailed plan: > > 1. I rework compile.py tonight. > If the changes are so close, why is the target for the Blueprint release 0.9 (we're at 0.7.1 now)? > 2. We make the compiler stages work again, one at a time. > > As part of step 2, we make sure that we > > a) Use the new FIAT interface > > b) Use the code Kristian has been working on for evaluate_basis > Kristian: what's the prognosis on this? Hopefully I'll finish evaluate_basis tomorrow. Kristian Garth > -- > Anders ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp signature.asc Description: OpenPGP digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
Re: [Ffc] Redesign
On Wed, Dec 16, 2009 at 08:37:35PM +0100, Kristian Oelgaard wrote: > > > 2009/12/16 Anders Logg > > On Wed, Dec 16, 2009 at 07:16:08PM +, Garth N. Wells wrote: > > > > > > Anders Logg wrote: > > > On Wed, Dec 16, 2009 at 06:54:54PM +, Garth N. Wells wrote: > > >> > > >> Anders Logg wrote: > > >>> Marie and I have had some discussions on the redesign and FFC and > > >>> here's what came out: > > >>> > > >>> https://blueprints.launchpad.net/ffc/+spec/ffc-redesign > > > The end result looks very nice. I think it makes sense. > > > > > >>> > > >>> This allows us to remove both FiniteElement and DofMap since we > won't > > >>> be needing any of those in the code generation stage. > > >>> > > >> And where does the transition to the new FIAT fit in? > > > > > > It's quite orthogonal to that. We just need to make sure that we use > > > the new FIAT interface in stage 2. > > > > > > Note that with this new design (which is really just a stricter > > > and cleaner version of what I originally intended) FIAT will only be > > > called in stage 2 which will make things easier. > > > > > > I will start on changing things from the top and down, starting with > > > cleanups in compiler.py and then we can go from there. > > > > > > > I am completely confused by the strategy. We discussed moving the work > > on the FIAT transition to lp:~ffc-core/ffc/dev, but now FiniteElement > > has been removed and the message says that everything is broken. We to > > have several things going on at once, none of which are working. Would > > it be more sensible to make one thing at a time work? There seems to be > > no clear plan. > > The redesign is difficult to do one step at a time. I would have liked > to do it in careful steps but I don't see how. > > Here's a more detailed plan: > > 1. I rework compile.py tonight. > > 2. We make the compiler stages work again, one at a time. > > > As soon as stage 1 is complete we can work on both representations in > parallel? Yes! It's basically independent but we should decide on a common convention for the naming/nesting of the dictionary keys, like how to store the data for the list of elements associated with a form etc. -- Anders > > > As part of step 2, we make sure that we > > a) Use the new FIAT interface > > b) Use the code Kristian has been working on for evaluate_basis > > > OK. > > Kristian > > > > > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.9 (GNU/Linux) > > iEYEARECAAYFAkspM54ACgkQTuwUCDsYZdHzbwCdFvFPPYvxTRObm8sfqpJ01HHF > 9GUAoJA1N+eT3SRg249C2+FwNng8MQNW > =jgbw > -END PGP SIGNATURE- > > ___ > Mailing list: https://launchpad.net/~ffc > Post to : ffc@lists.launchpad.net > Unsubscribe : https://launchpad.net/~ffc > More help : https://help.launchpad.net/ListHelp > > > signature.asc Description: Digital signature ___ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp