|One of my personal favorite, and best artworks.|
OpenCL first program//these lines are to include the OpenCL libaries. apple does things a little different.OpenCL first program by ~jaqbenny
//so you will need this inorder to make it compile on Linux or Mac. something I grabbed
//from one tutorial to add the the one from the Mac Lab one.
//Mac lab: http://developer.apple.com/library/mac/#samplecode/OpenCL_Hello_World_Example/Listings/hello_c.html#//apple_ref/doc/uid/DTS40008187-hello_c-DontLinkElementID_4
//openCL reference: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/
#define DATA_SIZE (1024)
/*This is the kernel. it is what the code that will actually run on the graphics card.
* Coding for the graphics card is very particular. Firstly, have a few conditionals
* as possible. you'll notice there is one here. I'm not going to go into why here
* because this is about openCL, not graphics card architecture. Just know, ifs are
* really hard for a GPU to deal with.
* So, what code can you put on the graphics card? Your
Chapter 10: ClientChapter 10: ClientChapter 10: Client by ~jaqbenny
The 2 servers remaining to write are the client and the System. I want to start with the client, as it is a much more closed system. Meaning that I don't have to worry much about the interfacing. I just have to deal with how to get data to the client and back. well suprise. I've already done that with the file server! (in hind sight I might have been able to build the file server off the clinet server system. to late now)
So my plan for the client is relatively simple. 2 main components. 1 component deals with the project end of things. it takes the WU, requests the files, imports code, and then runs it. the other component works with the system server. it is responsible for getting the current system's information, enrollment, and WU management.
As I look at it now I'm not sure which would actually be simplier. but I need to think about this. what would both of these systems look like. and what does the server look like? what data packets are transfered around. I th
Chapter 9: Unit TestingChapter 9: Unit TestingChapter 9: Unit Testing by ~jaqbenny
The concept of unit tests is not a hard one to grasp. But never before have I had such a code base to maintain that this has been an issue so this is my first foray in to this concept. The idea isn't to complicated. you create a roster of tests that the system has to run through in order to pass. you test each unit of the code so to speak. this way you always know it is behaving the way you think it should be. aside from providing a method of making sure everything is proper, it also gives you a better understanding of your own code. inorder to perform a unit test properly you need to know what to expect, so you have to go through as you are making the unit test and tell it what is expect so that it knows where it went wrong, approximately.
I'm going to start by working with the network layer. Start making unit tests of it. basically each function should have it's own set of tests. a set of tests because you need to test various kinds of input. and because of th
Chapter 8: User FriendlyChapter 8: User FriendlyChapter 8: User Friendly by ~jaqbenny
As I stop and reflect on version 0.4 where the system almost got up and running I am a not encouraged. True, this was a major accomplishment, a nearly functional system, but there was a lot lacking. I'm not actually that happy with how the system came out and I need to do some major achritectural reworking. As Agile Has so neatly put it, It now costs me more not to change this than it would to continue with my current system. but there are a couple systems that I need to implement which will also help in some other aspects, and I can start building a common library for things shared between the server and the client as well as forming layers of abstraction.
But one other thing I want to stop and consider is my objective. yes my objective is to build a distributed computing system, but who cares, those already exist, why not simply use one of those? why should Ceranubis exist (aside from an exercise for me)? Well what I've decided on is relatively simple. Yes, t