(Local) AI, Please Explain This Code

Continuing my exploration of what a local AI model can do, I decided to test them on the task of code analysis. It would be so nice to have an AI model that is tuned and trained on a particular tool or programming system, and that can be distributed for users to run on their own on their local machine, server, or cloud VM. Avoiding the need to run and charge for a custom cloud service and ensuring confidentiality and availability.

Continue reading “(Local) AI, Please Explain This Code”

More Exploration of (Local) AI Models

In my previous blog post about the Intel AI Playground, I tested it by asking it to draw cars. In this post, I share some more exploration of these local AI models and their limitations. Turns out that cars are easy, other things not so much…

Continue reading “More Exploration of (Local) AI Models”

Hi Local AI, Draw Me …

I recently built a new desktop computer, featuring an Intel ARC 770 graphics card (just to be different). The card is supported by the Intel AI Playground, which is a software package that makes it dead easy to run AI/large language models (LLM) locally on my GPU. I was curious as to just what this could do, as compared to the big AI models that run on cloud servers.

Continue reading “Hi Local AI, Draw Me …”

DVCon Europe 2024 – AI and More

The 2024 DVCon (Design and Verification) Europe conference took place on October 15 and 16, in its traditional location at the Holiday Inn Munich City Centre. This year there was even more talk of artificial intelligence than last year, and quite a few sessions related to virtual platforms. And lots of other interesting presentations and discussions.

Continue reading “DVCon Europe 2024 – AI and More”

Delivering AI-Based Solutions is not Always Easy

One of the nice properties of delivering software that users install on their own machines is that once the software has been built and shipped, the cost of running it is handed over to the user. The cost per installation and per user is minimal in terms of compute load on the developing company. Of course there are costs for things like support, but that is different. However, having the customer provide the compute resources is not necessarily that easy when it comes to AI-based setups.

Continue reading “Delivering AI-Based Solutions is not Always Easy”

Schloss Dagstuhl (and a Seminar and Cerebras)

A month ago, I participated in a seminar at Schloss Dagstuhl in Germany, about “Discrete Algorithms on Modern and Emerging Compute Infrastructure”. Not my usual cup of tea, but it was very interesting and insightful nevertheless. I have attended a Dagstuhl seminar once before, back in 2003.

Continue reading “Schloss Dagstuhl (and a Seminar and Cerebras)”

ChatGPT and Critique

ChatGPT and other transformer-based models like Dall-E are technologically very impressive. They do things that seemed totally impossible just a few years ago. However, they are not really generally intelligent, and there are innumerable problems with how they work, what they do, what people think they do, ethics, and legal and licensing issues. This is my third post about ChatGPT, where I present my critique of and reflections on the technology. The previous posts were about ChatGPT and Simics and Coding using ChatGPT.

Continue reading “ChatGPT and Critique”

ChatGPT and Code

In my previous blog post about ChatGPT and Simics, I tested it on its knowledge and abilities with a fairly niche subject. Not unsurprisingly it did not do all that well. However, one area where ChatGPT appears to really work well is when dealing with program code. This seems more practically useful as well, especially as a generator of starting points and boiler-plate code. It can also sometimes do a decent job explaining code, subject to quite common bizarre mistakes and errors. Update: Part 3, a critique of ChatGPT has been published.

Continue reading “ChatGPT and Code”

ChatGPT and Simics

It is an understatement to say that ChatGPT has been a hot topic since it was launched a few months back. Everyone seems to be seeing what it can do in their favorite domain, so I had to try it on what I work with, Simics and virtual platforms. The results did not live up to the hype some people think the technology deserves, but it was very impressive and a little scary nevertheless. This is the first post in what looks like it will be a series about ChatGPT. Update: Part 2, ChatGPT and Code, is now out. Update to the update: Part 3, a critique of ChatGPT has been published.

Continue reading “ChatGPT and Simics”

DVCon Europe 2021 – Testbenches, AI, and Open Source

Just like in 2020, the Design and Verification Conference (DVCon) Europe 2021 was a virtual conference. It took place from October 26 to 27, with the SystemC Evolution day on October 28 (as usual). As has been the case in recent years, the verification side of the conference is significantly larger than the design side. This is common with the other DVCon conferences in the world. In this blog, I will go through my main observations from DVCon Europe, and share some notes from some of the presentations.

Continue reading “DVCon Europe 2021 – Testbenches, AI, and Open Source”

The SAMOS XXI Conference (Virtual)

The International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS) XXI conference took place a couple of weeks ago. Like all other events in the past 18 months, it was virtual due to Covid-19. For more on the background on the SAMOS conference, see my blog post about SAMOS XIX (from 2019). This year, I presented a tutorial about our public release of the Simics simulator and took the chance to listen to most of the other conference talks.

Continue reading “The SAMOS XXI Conference (Virtual)”

DVCon Europe 2020 – Developing Hardware like Software?

The Design and Verification Conference Europe (DVCon Europe) took place back in late October 2020. In a normal year, we would add “in München, Germany” to the end of that sentence. But that is not how things were done in 2020. Instead, it was a virtual conference with world-wide attendance. Here are my notes on what I found the most interesting from the conference (for various reasons, this text did come out with a bit of delay).

Continue reading “DVCon Europe 2020 – Developing Hardware like Software?”

More on Programming

My blog post from last week, “Programming for Everyone, Everyone’s a Programmer?,” gave rise to some good comments from friends and colleagues on the matter of programming. Some of the points are worth addressing in a continuation of the discussion.  To get the starting point, please read the previous post first.

Continue reading “More on Programming”

Embedded World 2019

The Embedded World in Nürnberg is still going strong as the best tradeshow for “Embedded” in the world. This year, I spent time doing booth duty and gave a talk in the Conference part of the event. There was an unusual high number of old friends and business acquaintances around, and it was a great experience overall with many fruitful discussions and connections for the future.  However, it seems that there is always something that goes slightly awry with my travel to the show…

Continue reading “Embedded World 2019”

Windows 10 Reboot Loop – CUDA & Alienware

Late last year I was trying to do some machine learning work on my brand new Alienware 15 R4 gaming laptop. I had bought the laptop in order to have something portable with sufficient performance to actually do convolutional neural network (CNN) training and inference “on the road”. The GTX 1060 in the laptop is just as powerful as my home desktop machine, and should run Tensorflow and Keras well. I had the setup working on the desktop already, and copied the code over to the laptop. When trying to run the code the first time, I got some rather strange errors that I finally figured out meant that I was missing the CUDA toolkit. I downloaded CUDA version 10, installed, and the machine rebooted into the Windows 10 automatic repair mode.

Continue reading “Windows 10 Reboot Loop – CUDA & Alienware”