os-fpga / 1st-CLaaS

Framework for developing and deploying FPGA logic in the cloud as a microservice for web and cloud applications
BSD 3-Clause "New" or "Revised" License
197 stars 42 forks source link

problem with hardware emulation of Mandelbrot Application #75

Open gefl0 opened 2 years ago

gefl0 commented 2 years ago

Hello, Hardware Emulation of Mandelbrot Application does not work because there is no socket between the web server and the host application. As indicated in the framework/build/launch file this is still to be done. Has the problem been solved? It is possible to connect to the web server but nothing more. MandelbrotLog.txt Attached file, the generated log from make TARGET=hw_emu launch on amazon development instance

stevehoover commented 2 years ago

Unfortunately, there isn't really anyone actively maintaining this framework at the moment (and I don't know of a good replacement). So you'd have to do some debugging. AWS and Xilinx have been known to release breaking changes (not that this is necessarily the issue).

stevehoover commented 2 years ago

...oh, and the socket should come up fine. This has been working in the past.

gefl0 commented 2 years ago

Thank you for your response. I don't understand what I am doing wrong or what I am missing. I get the following errors from the mandelbrot_server.py file (whatever the target is sim, hw_emu or FPGA on F1) :

  1. There is no socket attribute in the 'MandelbrotApplication' instance because no socket is set in the FPGAServerApplication class from server .py file. Here bellow the error message I get : _File "../webserver/mandelbrotserver.py", line 327, in renderImage if self.socket == None or settings["renderer"] == "python": AttributeError: 'MandelbrotApplication' object has no attribute 'socket'

  2. And when I finally modified the code in the server .py file to set a socket in the FPGAServerApplication class then I get a second error from the mandelbrot_server.py file because the ' get_image' function is not defined : _File "../webserver/mandelbrot_server.py", line 336, in renderImage img_data = get_image(self.socket, GET_IMAGE, settings_str, False) NameError: name 'getimage' is not defined

It seems that the code is not completely developed, there is still work to be done. I can't understand how it is possible that it worked. What am I missing?

Best Regards

stevehoover commented 2 years ago

I was able to execute the commands from the GettingStarted and launch mandelbrot successfully, so I'm not sure what the issue might be. This was on Ubuntu 20.04.5 LTS. Make sure you clone from github.com/osfpga, not github.com/stevehoover as was stated in the instructions. I've pushed an update for this, though, I don't believe this addresses your issue.

I'm running python3 - 3.8.10. self.socket is assigned in framework/webserver/server.py.