delete

Are You Ready to Join the Party?

I made a few more commits to the master branch of the repository on github.  The repository is now in a state where if you have the following: Visual Studio 2005 LabView 2014 SP1 LabView Fpga Module Then you can join in on all the fun! If you do not, well, you can still join in on all the fun by opening the Visual Studio 2005 solution located here: https://github.com/FpgaAtHome/seti_fpga/blob/master/seti_boinc/client/win_build/seti_boinc.sln Then we will have to think of a strategy of how to handle the calling of various Fpga platforms.  Right now the solution...
delete

Fpga@Home is Back!

So at the start of this year we decided to resurrect the Seti@Home project.  I went through all of the original Seti@Home source code, I went through all of our work from back in 2014 and was able to get things working again.  You can take a look at my work and join in.  All you need is a GitHub account. The GitHub repository which I set up is located here: https://github.com/FpgaAtHome/seti_fpga This repository has the following structure: boinc-old boinc_depends_win_vs2005 seti_boinc LabViewTester.cpp seti_labview I do want to clean things up a bit,...
delete

Visit to NSF-CHREC at BYU

A few weeks ago I was in Salt Lake City, Utah visiting friends.  As I was thinking of my trip, Brigham Young University (BYU) came to mind and how they are involved in Reconfigurable Computing (btw, reconfigurable typically means FPGAs).  I did some searches and my memory was correct!  At NI Week 2011, I attended a talk by Professor Brent Nelson from BYU on Increasing FPGA Design Productivity. Turns out that BYU is one of the National Science Foundation's (NSF) Center for High-Performance Reconfigurable Computing (CHREC) which means...
delete

More Analysis of the CUDA Code

There are precisely 1,048,576 complex data points that come in with each SETI@Home Work Unit where each the real and imaginary components are both represented by single-precision floating point numbers each.  These one million odd data points are stored in a variable named "DataIn", with the number of data points is stored in a variable called "NumDataPoints."  These variables are defined in the analyzeFuncs.cpp file as such: typedef float sah_complex[2]; sah_complex *DataIn; int NumDataPoints; In the CUDA version of SETI@Home, this dataset...
delete

New Year and New Direction…

So it is New Years Day 2013 in New York.  I am home and not supposed to be “working” because it is new years day.  Regardless, I decide to work on the analysis of the FPGA@Home movement because it is not really work for me, it is fun.  My brother Terry walks into the room and I start explaining what I have found to him.  He then tells me, “Why not look at the SETI CUDA source code to see what functions they optimized?”. I download it from subversion and try to compile it… it fails… of course, but I realize that I don’t need to run...
delete

More Detailed Profiling Results

Now that I have a list of functions to profile, I want to gather some more information to determine exactly how long each one takes to execute with a Release build of the executable, while making the smallest impact on the performance of the code while it is profiling/benchmarking the code.  To do this, I need to do the following: Create a “StopWatch” class that I can use to: Name a section of code for easy identification Time that section of code using a high-resolution counter like QueryPerformanceCounter (available only on the Windows Platform) Store some...
delete

Profiling SETI@Home @ Home

So instead of just randomly analyzing functions in the SETI@Home source code, I decided that I wanted to be scientific about my analysis while I search for which functions take up the most amount of execution time.  It turns out that there is a nice freeware C++ Profiler available for the Windows Platform named “Very Sleepy”.  This profiler works as long as you have the debugging symbols available for the executable that you wish to profile.  So for us this means selecting the Release Build configuration for the seti_boinc project and making sure that the...
delete

Get Involved! Start Analyzing the SETI@H...

So, do you want to join the FPGA@Home effort and don’t know where to begin?  If you like analyzing source code, this post is for you.  Our next step is to find spots that can be accelerated by an FPGA. Below are instructions for how to download and run the SETI@Home source code.  All you need is a Windows machine with Visual Studio 2005. Note: You must have Visual Studio 2005 as there are certain deprecated libraries that are no longer available in later version of Visual Studio. How to Run SETI@Home from its source code on Windows XP SP3 Step 1 – Run Windows...