Amelia’s Status Report for April 26th

This week I have been really busy with other classes so I am a little bit behind on the progress I said I would make for the final poster. I plan to have it finished before the deadline. Although I am a little off track from where I said I would be last week, since I have most of next week to focus on the final demo, I plan to be back on track quickly.

In terms of other things I accomplished last week, I finished multiclient testing and started to think about the optimization of triggering text completion with a hot key press that doesn’t require the client script to run in the background.

anirudhp status report 26th April

This week my main goal was to exhaustively test for correctness and functionality(which we discussed with Prof. Gloria to be the main objective of our testing). In order to do this, I took two paths:

  1. Assuming that the system itself works given that there are no underlying assumptions. So the only location of bugs could be in multi-client.
  2. User testing with other ECE majors, both inside and outside capstone. Specific testing to find the potential edge cases that we could have missed.

The objective of testing (1) was to specifically move the flag reading and writing behaviour on the second client to specific blocks of time and see if correctness was maintianed.

I simply created a list of all flags that were being set and then tested every intermediary time step by ramping up the refresh speed and using if statements to target those specific time windows.

While this did not yield any errors, it did verify that there are absolutely no scenarios that the system would yield a wrong or incorrect output for.

Over next week, we will be wrapping up the final documentation for the project and releasing the client side code as a unified image. We are well ahead of schedule.

Team Status Report 26th April

This week we had already wrapped up our unit testing and final presentations, and mainly focussed on wrapping up the deliverables for the project.

We completed the following:

  1. Talked to Prof. Gloria about the ideal structure of user testing and what we aim to find from the testing:
    1. The only goal of user testing is to try and break the system.
    2. As a result, other ECE students that could devise edge cases were used for UI testing.
  2. Multi client involved the sequential setting of flags, and a tertiary system would keep reading them asynchronously .
    1. We needed to test timing errors so we made a timing diagram and blocked the testing into different segments.
    2. Details covered in anirudh status report.
  3. Wrapped up the project poster and most of the final report.

Next week we’ll just wrap up the final report and submit the remaining deliverables after presentation. Given that we are almost completely done with this and are ready for the demo, we are well ahead of schedule.

Amelia’s Status Report for April 19th

This week I worked on developing user tests and finalizing the client script to work for multiclient. There were some bugs when we tried to integrate more than one user that required me to update the client script to set more flags to communicate with the FPGA. We also decided to do more focused user testing to try which revealed a few more bugs that I fixed.

Our project is essentially done, I am on track. My goals for next week are to start working on the final report, video and poster that are all due next week.

anirudhp_status_report_April19th

This week, I mainly focussed on testing as well as wrapping up the project, in the process I patched the following issues:

  1. Multi-client was reading the output too early becasue the flag was set well in advance.
  2. Output quality was ramped up using a better bitnet model.
  3. An interesting bug was identified during user testing: just because you don’t actually print the output in the autocomplete while waiting doesn’t mean that you aren’t reading it. Hence you are capable of reading the other person’s output.
  4. This was fixed by making it read only during the non output ready time steps.

Currently, my goals for next week are:

  1. Complete the final report
  2. I will be presenting the final presentation, so I will need to rehearse for that.

Some things that I specifically learnt over the course of the project are:

  1. Access controls and the like on an FPGA hard-core. Have not learnt this before, and user testing allowed me to identify that this would be an issue.
  2. The software defined interrupt interface on the mac, this was the key technology that I had used for the keyword prompting.
  3. Presentation and specifically not to focus on text that is already stated on the slides, this was done while rehearsing the presentation yesterday.

Team Status report_Apr19th

This week we placed the final touches to our overall project and completed the presentation for the coming week.

We accomplished the following:

  1. User testing with experienced tech savvy users, this is to find potentially “broken” things, so far we found a few minor fixes covered in the individual status reports.
  2. Testing multi-client and ensuring functionality as well as security.
  3. Completing our presentation and report.

Over the next week, as we complete the presentation, we will also aim to do the following:

  1. Identify some way of bringing the FPGA to the demo(beyond requiring the ethernet dock that we had requested earlier)
  2. Complete the report and poster for teh final demo date.

Currently we are well ahead of schedule with only minimal work required next week.

Amelia’s Status Report for April 12th

This week I have been working on debugging my client side code as we ran into some bugs while integrating multi client. I’ve also been working on a script to install all necessary dependancies for new users. All code can be found in my github.

For next week, my goals are to have the code fully debugged and to start doing some user testing (currently Anirudh and I have tried out multiclient but it would be good to get at-least one more concurrent user tested). I also plan to start working on the video that we have to include in our final presentation. I am on track however this next week looks busy so I plan to try to get all of the code debugged asap to stay on track for the final two weeks.

anirudhp_status_report

This week, I wanted to verify that the 700M parameter model would run on the FPGA(given that our primary focus is to get the output quality up and running).

In order to verify this, I had a full analysis of the memory resources that were available on the FPGA, and added a memory profiling system to the CPU based runtime on my laptop.

For now, I believe that the FPGA should not have trouble running the model once we delete PYNQ from the board. However, the always on python script will need to be adjusted.

In terms of the milestones, we are still on track. But I ran into a few other things that need to be changed in order to delete PYNQ and that additional work might put it marginally behind schedule.

Over next week, I want to work out exactly how the interfacing and inference system would work once I delete PYNQ from the board.

Team Status Report(12th April)

This week, we had the following goals:

  1. Reevaluate the 700M model and see if it would fit on the FPGA after deleting PYNQ, we didn’t want any surprises.
  2. Identify further speedups that we could generate and pull the profiling data from the FPGA.
  3. Extend the UI script to a generic system that anyone connected to the CMU WiFi setup can use.

We did manage to achieve goal 1(see anirudhp status report) but had some trouble with points (2) and (3). Currently we are almost done and as a result only slightly behind schedule, but we would like to get them early next week.

So over the next week we have the following goals:

  1. Delete Pynq and sub in the new model
  2. Run the advanced UI script on the rest of our laptops and get the system working
  3. Pull power and profiling graphs on demand.

This would essentially get our entire system done and ready for the final presentation and demos.