-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make python dependency optional (?) #10
Comments
See also the russian troll's input on closed/duplicate #16 |
My comment was somewhat misunderstood. I think the issue "make python dependency optional" is obvious to desire, my point goes somewhat deeper- python is just one incarnation of things that get in the way of porting a useful c & c++ core to hardware. |
Okay, point well taken. But you don't actually propose to e.g. generate VHDL for a graph containing a module that takes something of type |
um, well stuff like shared pointers and even more so boost::variant are a huge pain to try to map to hardware. It makes it really hard to statically discern what memory and clock cycles you actually need. Generating VHDL might be provably impossible, because the main (huge) difference there is explicit timing, you can't have a multi-type object where it might take X or Y operations to free it. I think consciously saying "Ecto is NOT meant for prototyping for mapping to hardware" is acceptable too btw, I just think its a missed opportunity because slightly less trickiness with the types and scriptable wrappers would allow easy hardware mapping. |
Mapping to hardware is way out of scope for ecto. Anything VHDL or what not is either very device specific or so different from C++ constructs that it would be too constraining for modules not intended for an FPGA. Also, we're focused currently on single process, synchronous graphs, with the same memory address space. What does it mean to translate this to an FPGA? |
Compilers exist that will automatically parallelize "raw ansi C and simple It would be cool if a module that wanted to do this could be tested with I am thinking of something like nlopt; part of the reason why I hesitate to If I can run nlmagick or routines from "numerical recipes in C++" from
|
But, when have you ever gone from a PC app, to an FPGA and not rewritten at least most of the code? |
Boggles my mind. Costs a shit ton, but its quite magical ... http://en.wikipedia.org/wiki/Catapult_C http://www.lisha.ufsc.br/teaching/esl/exercise/catapult_docs/catapult_cpp_hw_gd_uv.pdf http://users.ece.utexas.edu/~gerstl/ee382v-ics_f09/lectures/lecture_14.pdf On Tue, Jun 7, 2011 at 10:27 PM, ethanrublee
|
The target audience for ecto is vision/perception researchers. Elegance of interface and scriptability very clearly take priority over the theoretical future ability to cross-compile to VHDL or Verilog. Even assuming that we could in fact purchase or write something like "Catapult C", there is absolutely NO chance that we will follow the "recommendations on how to write C++ code" in the "Catapult C Synthesis C++ to Hardware Concepts" document. This is completely out of the question. |
Moving beyond VHDL generation from ecto... It will be valuable to serialize some description of a graph made in python and reconstruct the graph in a c++ program. The two use cases are, just run a predetermined graph, or use the graph in some custom main program. |
need (I think)
but it is late right now and I don't recall what we discussed about this...
The text was updated successfully, but these errors were encountered: