Using USB-C to charge a laptop while simultaneously providing display and other IO traffic sounds a little bit too good to be true in practice. Maybe it would work for a set of devices from a single manufacturer (like a Thunderbolt-based USB-C-attached dock from the same vendor as a laptop). However, recently I was surprised (in a good way) when it turned out that I had accidentally got myself a USB-C-based single-cable-to-the-laptop setup. USB-C promises a lot, in this case it delivers perfectly, but what bothers me is the fact that there is really no way I could have figured this out ahead of time.Continue reading “USB-C Works, but how would you Know?”
The July 2020 edition of the Communications of the ACM (CACM) had a front-page theme of “Domains-Specific Hardware Accelerators”, or DSAs. It contained two articles about the subject, one about an academic genomics accelerator, and one about the Google TPU. Hardware accelerators dedicated to particular types of computation are basically everywhere today, and an accepted part of the evolution of computers. The CACM articles have some good tidbits and points about how accelerators are designed and used today. At the same time, I also found a youtube talk about the first hardware accelerator, the IBM Stretch HARVEST, showing both contrasts with today as well as a remarkable continuity in concept.Continue reading “CACM on DSAs”
I have a post out on the Intel Software blog about my experience developing and delivering training for Simics over the past few years. A key observation is that building training is a great way to test the product, and drives changes and improvements in the product. The blog is found at https://software.intel.com/content/www/us/en/develop/articles/teaching-users-drives-product-improvements-in-simics-sw.htmlContinue reading “Intel Blog: How Teaching Users Drives Product Improvements in Simics”
This year’s vacation trip was a roadtrip into Norrland, the northern part of Sweden. With the ongoing Covid-19 pandemic, it seemed safer and fairer to the healthcare system to stay in our own country. It was also an opportunity, since I have wanted to and look at some places up north for quite a while now (such as Bodens Fästning and Hemsö Fästning).Continue reading “Going Norrland”
Continuing on my blog posts about our Hemester (part 1 covered Bodens Fästning), this blog post will cover Hemsö Fästning. Both are fascinating places, but also rather different, and clearly demonstrate the changes from the early 1900s to the Cold War of the 1950s.Continue reading “Hemsö Fästning – Coastal Defense from the 1950s”
Due to Covid-19, this year’s summer vacation involved a “staycation”, or “hemester” as we say in Swedish. We went up north in Sweden, and took the chance to visit some military museums. In particular, the fortresses at Hemsön and Boden (fästning means fortress). Both are fascinating places, but also rather different, and clearly demonstrate the developments from the early 1900s to the Cold War of the 1950s. This post covers Boden, with a separate post for Hemsö released a few days after this post.Continue reading “Bodens Fästning – A Fortress in the North of Sweden”
I have attended the Design Automation Conference (DAC) occasionally for the past decade – maybe every second or third year. The DAC is typically mostly about the lower levels and the backend of hardware design, but there is always something to learn about virtual platforms and related topics closer to my interests. This year, like last year, I got a presentation (and poster) accepted for the Designer track. The DAC organizers held out hope for a physical conference for quite a while (back in early March it seemed rather unlikely that this would still be with us in July…). However, a physical conference was not to be, and the DAC switched to a virtual format in early May.Continue reading “The Virtual DAC 2020”
Recently, we had a discussion at work (in our daily virtual team “fika”) where we reflected on just how many weeks we had been working from home due to the Covid-19 pandemic. It has been quite a few; I last saw the office in week 11, and week 19 is beginning… so I am looking at eight weeks personally. Just how did it all begin? I thought it useful to go back and try to remember how we got to this point. In hindsight, I never thought it would be this huge.Continue reading “Recalling the Beginning of Covid-19 and Work-from-Home”
In the current world-wide lockdown due to Covid-19, many things that were done in-person in the past have to become virtual. The Simics® New User Training that we run at Intel and with our customers and partners is no different. In normal times, we run in-person classes around the world, but that is not an option right now. Thus, we shifted to running remote live classes as a substitute for the time being. This blog shares some of my experience from running remote live classes.Continue reading “Adjusting to Work-from-Home: Remote Live Simics Training”
It has been a bit more than six months after my radiotherapy treatment for thyroid cancer, and I feel pretty much normal. Several times over the past few months, I have talked to people I have not seen in a while and they have asked me how I am doing. At first I just say “fine”… and I then realize that they are asking about the cancer. It’s not top-of-mind for me since I have been living with it for almost a year now, and it feels (currently) like it is “done”. Of course, it will be years before I am formally considered to have fully recovered, but right now I feel like I am functioning mostly normally (except a small side-effect from the medication).Continue reading “Cancer Part 3: So Far So Good”
I have written before about the debug advice to “Quit thinking and look.” It means that you should not form conclusions prematurely. Stop and look at what is going on instead of guessing and cooking up theoretical scenarios. Sound advice that I completely failed to follow in the case that I just chronicled on my Intel Blog: https://software.intel.com/en-us/blogs/2020/03/18/quit-thinking-and-look-chasing-simics-performanceContinue reading “Intel Blog Post: “Quit Thinking and Look” – Mea Culpa Chasing a Performance Bug”
There is a new blog post on the Intel Developer Zone on how we used Simics virtual platforms for the new Intel® Atom® P5900 series of system-on-chip (previously known as Snow Ridge). It talks about how shift-left works both inside of Intel and with our customers for the new chip, and the kinds of virtual platform models you use for different types of use cases.
I have been working with computer simulation and computer architecture for more than 20 years, and one thing that has been remarkably stable over time is the simulation slowdown inherent in “cycle accurate” computer simulation. Regardless of who I talked to or what they were modeling, the simulators ran at around 100 thousand times slower than the machine being modeled. It even holds true going back to the 1960s! However, there is a variant of simulation that aims to make useful performance predictions while running around 10x faster (or more) – mechanistic models (in particular, the Sniper simulator).Continue reading “Simulating Computer Architecture with “Mechanistic” Models – No more 100k Slowdown?”
After about a month of using Spotify, it is time for an update. I got several people asking about how I was doing with Spotify, based on my previous blog post about the service. The results so far have honestly surprised me – it has become my default way of listening to music, despite all of my previous criticisms being pretty much validated. I guess the “access any song” is really a compelling value proposition, strong enough to overcome the limited organizational tools.Continue reading “Additional Notes on Spotify”
I have been spending quite a bit of time in recent years developing training materials and doing trainings for Simics. There is always a discussion on how best to do training, in particular between live sessions with actual trainers and offline video and other self-study resources. I am a firm believer in the value of live training, and during our recent winter vacation up in the Swedish mountains I made myself provide a perfect example of the value of a teacher. I took a skiing lesson.Continue reading “The Benefit of Live Teachers (Applied to Myself)”
I am probably among the last people to have tried Spotify. When the service first arrived ten years ago I looked at it and concluded it seemed a poor match for my needs. To me, music is something you buy and own permanently in the style of old-fashioned CDs. The whole idea of a streaming service where an artist, album, or song could go missing all of sudden due to factors beyond your control just seemed (and still seems) suspicious. Everybody else seemed to love it, but that does not necessarily mean it is good… However, I finally did jump in and try Spotify, and here is what I found.Continue reading “I Finally Gave up and Tried Spotify”
Earlier this year, Arianna Delsante defended her Master’s Thesis in computer science at Uppsala University. Her thesis topic was to speed up cache and branch prediction simulation in Simics, and in the end she got a speed up of about 10x compared to previous implementations in Simics. I explain a bit more about cache simulation in fast functional simulators and what she did in my latest Intel Developer Zone Blog post, “Speeding-Up Cache Simulation in Simics by 10x“.Continue reading “Intel Blog Post: Simulating Caches 10x Faster with Simics”
I find debugging a very interesting topic of study, so when I stumbled on the paper “Studying the advancement in debugging practice of professional software developers”, I had to do a blog on its contents.Continue reading ““Studying the Advancement in Debugging Practice” / 2016 Paper”
As I chronicled earlier this year (see “A Sudden Case of Cancer”), I got a Thyroid Cancer diagnosis back in May of this year. In June I went through surgery which went very well. After only three weeks, I was sufficiently recovered to travel to Greece and give a keynote presentation at the SAMOS conference. My scar prevented me from taking as much as advantage as I could have of the sun and pool, but it was possible to do at least a little bit of bathing towards the end. Now, I have reached part two of the treatment, radioiodine therapy to knock out any lingering cancer cells. Basically, I am going radioactive for a few days.Continue reading “Cancer Part 2: Going Radioactive”
I have had some annoying problems in recent months with my work laptop refusing to connect to certain WiFi login pages (more technically known as Captive Portals), essentially locking me out of the WiFi in certain places. Here is how I solved it.Continue reading “Failing to See WiFi Login Page [Captive Portal] / Solved”
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”
Recently, I have read some articles and seen product announcements based on the idea that we need to make programming easier. Making it easier is supposed to make more people program, and the underlying assumption is that programming can be easy enough that everyone can do it. I have also talked computer science undergraduate students who kind of asked me just how many years at the university you should do, and what do you actually in practice gain from a university degree in computer science? When I think about it, these two discussions really come down to the same question: Should everyone be a programmer? Can everyone be a programmer? What does it mean to be a programmer? How do you best learn to program?Continue reading “Programming for Everyone, Everyone’s a Programmer?”
A new short blog post on my Intel Developer Zone blog talks about the improved threading simulation core we have added in Simics version 6… and about how a colleague of mine climbed to the top of the highest mountain in Europe and showed a flag with our new Simics icon! Read the story at https://software.intel.com/en-us/blogs/2019/09/10/simics-6-at-the-mountain-top.
I have a new blog post out on the Intel Developer Zone, about the Simics 6 device register coverage feature. I use device register coverage to look at how different operating systems use the same hardware. The differences are significant, demonstrating the (rather expected) observation that different software stacks use the same hardware in different ways.Continue reading “Intel Blog: Simics 6 Device Register Coverage”
I just started using Office 365 at work, and almost immediately I hit a hilariously bad problem in the core simple “import CSV” functionality. Basically, the Excel 2016 that I got (it is 2016, not the latest 365 that my home machine all use) does not understand Windows line endings or decimal numbers.Continue reading “Excel 2016 & CSV Import – Hilariously Broken”
A while ago, Ars Technica reviewed the Mega Sg, a modern clone of the old Sega Genesis gaming system. I stumbled on this review recently and realized that this is a fascinating piece of hardware. The Mega Sg is produced by a company called Analogue (https://www.analogue.co/), presumably named thus because they create analogues to old gaming consoles. The way this is done is different from most current “revive the old consoles” products that simply use software emulation to run old games. Instead, Analogue seems to have settled on using FPGA (Field-Programmable Gate Array) technology to basically build new hardware that is functionally equivalent to the old console hardware.Continue reading “Using FPGAs to Simulate old Game Consoles”
This year’s family vacation was spent on the Greek island of Crete, in an all-inclusive resort close to Chania on the north coast. Overall we got nice weather and an enjoyable pool-and-sun holiday, mostly staying at the hotel with a few excursions. In the following, I will go through some of the most surprising or interesting observations I made in Crete. Greek letters are cool, but I do not think we will go back to Greece any time soon when there are higher-quality places available (such as Spain).Continue reading “Off-Topic: Vacation in Crete”
Earlier in July 2019, I had the honor of presenting one of the keynote talks at the 19th SAMOS (International Conference on Embedded Computer Systems: Architectures, MOdeling, and Simulation) conference, held on the island of Samos in Greece. When I got the invite, I had no real idea what to expect. I asked around a bit and people said it was a good conference with a rather special vibe. I think that is a very good description of the conference: a special vibe. In addition to the usual papers and sessions, there is a strong focus on community and social events, fostering discussion across academic disciplines and between industry and academia. There were many really great discussions in addition to the paper and keynote presentations, and overall it was one of the most interesting conferences I have been to in recent years.Continue reading “SAMOS 2019 – Insights, Mechanisms, Heterogeneity, and more”
Cancer – it is a scary thing, and it recently became part of my life. It is only two weeks ago today that I got my cancer diagnosis, and I am already out of surgery and recovering. It has been a very speedy process, and hopefully this will be the end of it. Getting a cancer diagnosis is a bit rattling, but there is no reason to panic.Continue reading “A Sudden Case of Cancer”
For Simics training and demo purposes, we often use Linux* running on the virtual platforms. In the early days of Simics and embedded Linux, we built our own minimal configurations by hand to run on simple target systems. Most recently, we changed our Linux default demo and training setup to use Clear Linux*. This change showed us just how sophisticated modern Linux setups are – which is good in general, but it also can make some low-level details more complicated.
I wrote an Intel Developer Zone Blog Post about our experience moving to Clear Linux for Simics demos and training, which contains a lot more details of what we observed and did to make this work for our purposes.