Welcome, Guest. Please login or register.
May 25, 2013, 09:57:25 PM
Home Help Search Login Register
News: A significant upgrade to OpenCL Studio 1.1 has been released including new OpenCL library elements, addtions to the scripting interface and various bug fixes.

+  opencldev.com
|-+  OpenCL Studio
| |-+  Development Environment
| | |-+  NVIDIA GeForce GT-520 vs. OpenCL Studio
« previous next »
Pages: [1] Print
Author Topic: NVIDIA GeForce GT-520 vs. OpenCL Studio  (Read 4754 times)
GaryGaulin
Newbie
*
Posts: 9


« on: June 10, 2012, 07:32:20 AM »

After years of making do with my old Celeron system, I looked around for an under $700 PC and found and ASUS (display model) with Windows 7 through Intel Core i7 that had a larger than average power supply for adding a GPU and feel I got my money's worth even though $50 worth of parallel processing power is overwhelmed by some of the OpenCL Studio samples, especially fluid0 that causes a Windows time out while trying to load into the studio then shuts it down right after.  Considering though how with Visual Basic 6.0 on my old PC it could take an hour for that many particles to do anything at all, I would't mind the wait.  Or that the samples  start off with fewer particles which is one easy way to solve the problem, which I would have made my first challenge where fluid0 could open in the editor to work on, but with that not working either I thought I should just mention that one here even though you might already know about the problem.  I made sure Microsoft was sent an error report so in their system in case they can do something on their end, like ask whether to wait longer.  The studio also starts up with a "(spectral.dll) Function lib_open not found" error but at least started.  I can see you're working on bugs and will be patient, and right away download then install again just in case that helps.

I have been making do with VB6 but it's now having loading errors of its own loading and moving a group of controls on a form is in slow motion, so I am now forced to migrate to a new language because of incompatibility problems with a modern PC like this one.  With it being best that others can easily download and install whatever language I use for my educational models I tried Java and others, but with many like me still programming in VB it was not worth rushing to something that slowed down development time.

Even though I can still run and compile with VB6 and in no major rush to change my ways, I'm already falling in love with your OpenCL Studio.  Something like that can speed up development time of scientific software I often try to write that is now needing to self-assemble a cell in-silico.  With luck, I will not at miss the old VB5 then VB6 standard and since they are OK with OpenCL can more easily forgive Microsoft for abandoning it soon after I became proficient in that language for a .Net that ended everything at VB7.  I started with Tandy Model-1 TRS-80 Basic and Assembler on the first "PC" there ever was that even had cassette tape recorder storage (that worked around 20% of the time) then BIOS and MASM changed everything then came Borland Turbo Basic then Power Basic then I had to change to VB5 when that became necessary but the company I work for could afford the $600 for the Professional version Visual Studio.

Your software seems to be the right thing, at the right time.  Something worth waiting for that I think others will love too.  And even though they will then also want $60 or so dollars worth of GPU from my experience something like that will soon enough become the next PC standard.  Might even say that in my opinion parallel processing is almost as late as robots in every house doing all our chores for us.  At least for for some, parallel processing at any level of the system has all along been a dream, but the CPU was soon past 16 mhz then the speed gains were enough of an improvement but there is no way around needing parallel processing for real-time physics related problems for games and relatively new science of systems biology.  Even without a GPU in a computer, a language like OpenCL can be welcomed relief from only the simple PSet(X,Y) command and where daring convert to triangles and go straight to Direct3D which doubles or more the code of some programs.  That is one thing to be glad is no longer needed.  At least the sample programs that did work for me even made water transparent just like water, and I can sure work with that!  It's one of the things I long wished I could easily program into models, but with 1000 or so particles about all technology allowed it was just as well to use the PSet() command to show where their centers are then rotate the dots to show their depth/shape.

There is a need for a programming language like OpenCL but without a Studio like yours with samples right there to get everyone started it's just one more in the clutter of languages to choose from that all make working in 3D and other things a major programming challenge.  It's here not the graphics acceleration of a GPU it's being a language that easily downloads and installs that has everything right from a couple of desktop icons, like you have it, and the getting started video to make it easy to get some code to experiment with up on the screen.  Even where it uses a CPU core and/or existing graphics to simulate a GPU the Studio has value I am sure the GPU industry loves because of how it next makes programmers wish they also had at least a GT-520 to go with it.

I'll better know the software after my next experiment, which is to use one of the samples to make a droplet of water floating in space.  Next would be to add phospholipids and other self-assembling molecules to that.  Then need flagellum and cellular antenna for sense of motion through water surrounding it and all the molecular circuitry in between (even though scientists are still working on how all that works) as do others who would probably love OpenGL Studio for this type of modeling and make better molecules than I could.  Systems biology needs something like that, as well as teachers and students who would be unable to resist experimenting with at home because of the "it's alive!" part of the fun.  From what I can see, you are almost there.

I was so impressed by the Studio and your vision that I had to let you know what I found most useful about it.  Where it worked as well for a community such as Planet Source Code it might be worth their adding to their languages, but of course I'm not the final judge of that I just sense a need for something new all can easily exchange code with.  Being all set for massive parallel processing is a plus that makes it exciting but in this case it has to run on a non-GPU computer and work in an environment where for nostalgia sake even an accurate looking Pong eventually becomes someone's benchmark, with it easily given an old TV screen look being like showing off how well it works for that too, while providing easy code to figure out by someone new to any programming language.  Best case scenario is that all the samples work even on an old Celeron even though particle count has to be reduced.  Showing on YouTube what the state of the art GPU looks like running the same thing makes it even more worth learning and using because of it being for what they will then want in their next PC, be what they program towards but can start off with fewer molecules or whatever.

I have the problem of needing to write in an easy to figure out code that as many as possible are using but not matter what I write in there will not be a large percentage who would not run the source code for themselves because of getting all set up with it becomes a major project full of programs found on the web crashing because of missing libraries and other reasons that can take months or never to figure out why that happened.  A freely available Studio like yours is exactly what I need, but even my entry level GPU is so challenged by the expectations of the samples even Windows soon calls it quits then crashes the system on us.  But at least it seems to be a minor problem, that does not require the studio software to work any differently, just need samples that will start up with enough particles to be in real-time, regardless of how many that ends up being.  Seeing just a few hundred simple particles out of a spout is fine where that is all their system can reasonably deliver.  YouTube videos showing a good GPU running the same only helps show us what we're missing, but it being possible makes the new language worth staying with and tease for not having any GPU at all look, that's interesting yet at the same time kinda awful.  The expected problems of making the studio samples start up with much fewer particles is then not a problem to worry about, even though to you it's like back to the Pong days, where a single pixel to bounce back and forth between two lines for paddles was astounding technology.

If you can make everything work for others who do not need anything fancy just need it to work at all then I think they will want to help it along for the simple reason of there not being anything else like it.  Certainly worth my welcoming and want to see happen as much as you do but for more more graphics unintensive reasons, that I thought you would find worth the read even though I also had to mention that the studio crashed a little too.  In this case I don't mind that, and can even find some humor in it happening because of it otherwise working so much better than I expected.  Would love to help it along, in the process of myself finally upgrading to  something that is on the way in, instead of on the way out because of it no longer even being a single core processing world anymore.  Something I for years hoped to see happen, and here we are on a computer forum just for making sure that it eventually does.  I'm glad we're all finally here!  :D
Logged
opencldev
Administrator
Jr. Member
*****
Posts: 90


« Reply #1 on: June 10, 2012, 04:00:47 PM »

Thanks for your feedback. It is true that OpenCL Studio does not yet run on all of the different GPUs. I assume that it will never run on some of the older ones, even though they may have OpenCL drivers. In general it seems that the drivers themselves are not yet stable and consistent between different version. In the past, OpenCL Studio suddenly didn’t work for a newer version of a driver and then started working again two releases later; That happend with both previous generations of AMD and NVIDA drivers.
Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #2 on: June 11, 2012, 05:21:28 AM »

You're very welcome.  To get my new PC working properly I had to spend a day downloading dozens of Windows updates, which eventually included a new NVIDIA driver.  Until I did it was not able to open websites with FlashPlayer type graphics.  Just hung up like it was not even on the internet, but it did connect to the Microsoft server to fix the problem.

From my experience I have to recommend to everyone with a new PC especially with GPU to immediately use the Action Center to keep manually going back to "Check for updates" until all of them have been installed and it says that the system is fully up to date.  Do not wait for automatic updates, get all of them in right away.  Can otherwise spend days swearing at it, then days later the darn thing automatically installs the update with the new GPU driver, without anyone even knowing.  Through DSL it might take hours of downloading and rebooting but at least all the software will be there.  Only problem I had are the sample programs that expect a 48 paintball GPU to be able to all at once blast a Mona Lisa onto the screen, then after two seconds of that futility Windows throws in the towel by shutting down the OpenCL.  It's hard to say which even won but they certainly both did their best, to put on a spectacularly graphic display.

At least once Windows was fully updated, the important driver and the OpenCL Studio worked for me.  The fluid1 sample is still exactly like shown in the first video, except of course it's in slow motion and even slower when started inside the studio (using top icon) or can time out the same way as fluid0 always does.  I was also able to make a slider and see the setting in the Output window as was shown in another video.  From what I can see you got all the important things working properly, so it's back to your YouTube channel, for more study!
« Last Edit: June 11, 2012, 05:44:06 AM by GaryGaulin » Logged
opencldev
Administrator
Jr. Member
*****
Posts: 90


« Reply #3 on: June 11, 2012, 01:25:14 PM »

Excellent. Let us know how the videos work out for you.
Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #4 on: June 12, 2012, 02:40:29 AM »

I have been programming along with him by stopping the video then entering the same thing into the studio, then going back to YouTube to restart the video for the next step.  That has been a big help in getting started, especially since my experience with OpenGL is like with DirectX where it's something called from Visual Basic to speed up graphics.  I experimented with it a little and have an idea of how OpenGL works but I have no experience programming with it as a language, like you are in the studio.  Following along with the video is giving me the basics.  I also click around and experiment with things along the way, as a result it ended up taking an evening to get though the Rendering in OpenCL Studio in part from having something to try debugging, because of the Wildlife.api not working.

The first sign of trouble was the output window saying too many video files were open 20.  I closed YouTube in case that was a problem, then tried uninstalling then reinstalling the studio then restarted Windows, but that didn't work either.  Then I tried the videoProcessing sample and received this for an error:

Code: [Select]
(video.dll): Unknown encoding of AVI: data\videos\Wildlife.avi : The operation completed successfully.
(video.dll): Invalid video file handle -1
(video.dll): Invalid video file handle -1

After getting the error the studio will not exit, must use Task Manager to end program.  Windows Media Player was though able to run the video that is in the workspace\data folder.

I'm not sure whether the videoProcessing sample was one of the working ones.  It's possible that I missed it while going from one to the next.  

The studio also always started with the error "(spectral.dll): function lib_open not found" but otherwise it still worked OK.  

I'm not worried about the studio not playing videos yet.  But thought it was worth mentioning this problem, before beginning the next tutorial.  Other than near the end experiencing the error I had little problem making it through the one on rendering, where it really gets good and have a slider hooked up to spheres with a cube and even 3D text on the screen.  Showing how to take it one step at a time, is the way to go.  
« Last Edit: June 12, 2012, 03:32:09 PM by GaryGaulin » Logged
opencldev
Administrator
Jr. Member
*****
Posts: 90


« Reply #5 on: June 12, 2012, 04:40:22 PM »

It’s good to hear that the videos are working out for you. Here are some comments to the problems you are seeing.

Spectral.dll
This dll should not be part of the distribution of OpenCL Studio. We used that for a remote sensing project. OpenCL Studio uses introspection to load all of the dlls in the workspace/binding/plugins directory. The spectral.dll requires an extension that it cannot find. You can delete this dll and and the error will disappear. BTW, have a look at the plugins directory; it contains all of the source code for the 6+ plugins that come with the IDE. You can write your own if need be...

Wildlife.avi.
You have to install the divx codec (i believe, I always get mixed up with xvid and divx), and then it should work. There is a dll + source code in the plugins directory that loads the video files. It uses a different API than the window native video player. That is why you can play it with the MS video player.


Cheers
Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #6 on: June 14, 2012, 01:17:14 PM »

Deleting the spectral.dll worked great!  I later found it in the SpectralViewer program I ran across, while looking around for information on OpenCL.

For the video problem, I started by studying the remaining three tutorial videos.  As I expected, my version of Visual Studio 6.0 (just before .NET) is not recent enough to open .vcproj or .sln files.  It has no C++ installed, would not be very helpful.  Windows just prompts me that it does not know how to open the files.

I looked for a way to change that video setting inside OpenCL Studio, but unless I missed it there seems to be now way.  I now at least know a little about adding or changing plugins!

Since your studio already seems to have all that is needed to model molecules it is probably just as well that I first try to keep things simple by working in that environment alone, using just the plugins that come with it.

The oclFluid3D makes nice looking water but here may be hard to implement because of the cellular models having to be as functional as possible.  The entire surface of any water droplet would be covered by at least an approximation of a phospholipid bilayer.  Water can even more simply be removed from the picture:

 
http://academic.brooklyn.cuny.edu/biology/bio4fv/page/phosphb.htm

The important thing to get right are the programmable response sensory arrays that self-assemble like shown in this new visualization of bacterial chemotaxis molecules, shown in this fantastic QuickTime movie:

http://www.pnas.org/content/suppl/2012/05/03/1200781109.DCSupplemental/sm01.mov



The paper is closed access but useful Supporting Information is here, in case anyone needs to read more:

http://www.pnas.org/lookup/suppl/doi:10.1073/pnas.1200781109/-/DCSupplemental

Quote
Molecular architecture of chemoreceptor arrays revealed by cryoelectron tomography of Escherichia coli minicells.

Jun Liua, Bo Hua, Dustin R. Moradoa, Sneha Janib, Michael D. Mansonb, and William Margolinc

Abstract

The chemoreceptors of Escherichia coli localize to the cell poles and form a highly ordered array in concert with the CheA kinase and the CheW coupling factor. However, a high-resolution structure of the array has been lacking, and the molecular basis of array assembly has thus remained elusive. Here, we use cryoelectron tomography of flagellated E. coli minicells to derive a 3D map of the intact array. Docking of high-resolution structures into the 3D map provides a model of the core signaling complex, in which a CheA/CheW dimer bridges two adjacent receptor trimers via multiple hydrophobic interactions. A further, hitherto unknown, hydrophobic interaction between CheW and the homologous P5 domain of CheA in an adjacent core complex connects the complexes into an extended array. This architecture provides a structural basis for array formation and could explain the high sensitivity and cooperativity of chemotaxis signaling in E. coli.

http://www.pnas.org/content/early/2012/05/02/1200781109.short

It would be allowable to form the cell membrane around the surface of a sphere that has an attached flagellum.  Inside that would be molecules that self-assemble into the circuitry that ultimately switches motor speed and direction.  Only need to make certain molecule types transparent, to be able to see what is happening inside.

From what I can see (and please correct if wrong) that is more or less what clProgram can be used for.  In this case there would be Lennard Jones force calculations between all molecules other than water.  What they are drawn with does not much matter.  Can also maybe simplify by dividing up the GPU processors by a type of molecule(s) they each represent, which often become localized anyway. 
Logged
opencldev
Administrator
Jr. Member
*****
Posts: 90


« Reply #7 on: June 14, 2012, 07:04:43 PM »


I don’t know much about Biochemisty, but I suggest you use the particles demo as a starting point. It contains all of the infrastructure necessary to efficiently find the nearest neighbors of a particle. All you need to do is add your own logic in terms how neighbouring particles interact. The particles demo is simpler than the fluid ones, and you should be able to work with it much faster.

From the pictures it seems that you want simulate a lot of atoms. Using a single particle to model a single atom will limit the size of system that you can model. Maybe you can represent an entire molecule using a single particle and then use geometry shaders to render more than one sphere per particle.
Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #8 on: June 15, 2012, 03:24:58 AM »

Yes, I used the particle as well as the Nbody simulation for ideas, and as long as the molecules have the correct (math generated) properties even the more schematic method of drawing them (as in figure D. shown above) would work fine.  Might even say that is better than not being able to see a working circuit because of ion channels and such being so tiny in comparison to the macromolecules they are invisible.  The temporal memory system also has tiny molecularly programmable sites that change the response of each receptor in a way that the entire array records its chemical past for at least over a minute, from which it can decide whether to continue on that path or tumble to a new heading:

Quote
Site-specific and synergistic stimulation of methylation on the bacterial chemotaxis receptor Tsr by serine and CheW.
http://www.biomedcentral.com/1471-2180/5/12
Chalah A, Weis RM.
Department of Chemistry, University of Massachusetts,
710 North Pleasant St, Amherst, MA 01003-9336, USA.



Figure 8. The influences of serine and CheW on methylation. The enlarged representation of the methylation region from one Tsr subunit in panel A illustrates the locations relative to the N and C-termini of Tsr (N and C), and the cytoplasmic domain hairpin (at bottom). For simplicity, all other representations depict (panels B to D) show only the two methylation helices. Numbers next to the four sites are relative rates (r); not in parentheses are rates relative to the rate without ligand (r = v+ligand(s)/vno ligand). The r-values in parentheses are the rates at various sites (vn) relative to the rate at site four (v4) under the same conditions (r = vn/v4). A: no ligand;B: 500 μM serine; C: 60 μM CheW; D: both serine and CheW.


A model of the Tsr dimer. The two subunits are distinguished by the different shading of the α-helices, which are represented by rectangles that are proportional to the helix lengths. N and C indicate the positions of the N- and C-termini, respectively. The approximate locations of the serine binding site (◇), the CheW binding site (W), and the methylation sites are displayed. The linker region (~ residues 215–265) is represented by a dashed segment, which is not to scale, simply to indicate continuity in the primary structure. The four major sites (E297, E304, E311, and E493) are depicted as filled circles and are labeled 1 to 4. One minor site (E502) is depicted as an open circle. The first three sites are located sequentially on MH1; the fourth (and fifth) site(s) are located on MH2, which is antiparallel to MH1.

Because of the science of all this being so new you're not the only one wondering exactly how all this works.  I know enough about it to know that good models are certainly needed, and that systems biologists will now likely be picturing that sort of thing in their mind while wondering about the possibilities of OpenCL studio and a GPU card.  There is even less known about phototaxis systems (eye spots) but I expect a very similar modeling problem will be found there as well.

I have been working on the problem of thinking/coding in parallel and found a good example to work from 3:00 into this video you probably already know called "ATI Stream OpenCL™ Technical Overview [Part 1] - What is OpenCL™?".  At 1:35 he mentions the "Program Object" that seems to be the "clProgram" found in the studio.

http://www.youtube.com/watch?v=ecYIsu83c0I

I typed the below from the video into clProject code and it compiled just fine:

Code: [Select]
__kernel void clDpMul(global const float *a, global const float *b, global float *result)
{
int id = get_global_id(0);
result[id] = a[id] * b[id];
}

Only problem I had was "likely a persmissions problem" from trying to save it to the folder with the other samples (then studio would crash) which seemed odd because of it being a convenient place to try saving a file to quickly verify that the studio saves and loads a program.  Trying to open another folder as the Workspace reports it could not load libLua.dll then loads default workspace instead.  That error then happened every time restarted, but went away after successfully creating a new Workspace.  I'm now having no problem saving files, but thought I better mention that happening.

I'm not yet sure whether the example program worked, but from what I gathered it should have placed itself in all of the processors in the GPU.  And after placing print("On...") statements in the clProgram events I can see that when the Scene is being shown on the screen it's receiving a roughly 60 hz Time cycle, so my first program at least has something working!

Now the only problem is getting the result of the "result[id] = a[id] * b[id]" equation from the GPU to the screen, which I expect to not be as simple, in part because of a problem I noticed that others were having because of manufacturer GPU information not always being clear as to how many cores/processors it has.  Most of what I read says the 520 has 48 cores/elements, but not even the properties that come on the screen by clicking clProgram lists the number, "CL_DEVICE_MAX_COMPUTE_UNITS" shows only 1.  In my application it would seem easiest to fetch the number of processing cores then divide like molecules in the simulation among them, then later adjust the number of molecules in each so they all cycle at nearly the same rate, such that only one move is made per cycle.  But some of what I read indicates that the GPU has to take care of which processing unit is running what code, but that does not make all that much sense, but then again I'm new to parallel computing and might be missing something easy, even though the "get_global_id(0)" command seems to have to equate to a single processing element/core for the above kernal to work properly.
Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #9 on: June 16, 2012, 05:03:42 AM »


After watching the rest of the AMI videos I have a better idea of where the cores are.  And although I'm still impressed by the technology and still love my GT-520 this seems to explain why I could not really find what I expected:

Quote
The CPU and GPU world have somewhat different terminology that can be slightly confusing, especially once NVIDIA or ATI’s marketing departments have been thrown into the mix. NVIDIA and ATI like to call their execution units (ALUs/FPUs) 'cores', so that they can claim to have hundreds of cores (this is complicated by the fact that NVIDIA’s 'cores' run at twice the frequency of ATI’s, making comparisons difficult). In reality, GPUs have more like tens of cores, but are able to provide more computate power by using vectors, which lower the amount of control overhead per computation. NVIDIA’s diagrams of the G80 and GT200 go a bit beyond Figure 4 and subdivide each SM into 8 Thread Processors, Streaming Processors (SP) or Shader Cores (depending on who you are talking to). However, it is clear that Stream Processors in NVIDIA’s terminology are not truly independent processor cores. Each SP has a register file (at least a portion of one) and an independent instruction pointer, but the SPs lack a complete front-end that can fetch and schedule instructions independently. In that regard, the SPs most closely correspond to an issue pipeline in a modern multi-threaded CPU.

http://www.realworldtech.com/page.cfm?ArticleID=RWT090808195242&p=6

From the specifications that indicate the GT-520 has 48 cores, I concluded that I have an equivalent of 3 thread processing clusters instead of 8 shown here:


http://dame.dsf.unina.it/project.html

The clProgram (and Script and Main) On Time event also appears to be a part of the circuit represented by the arrow back up to the Thread Execution Manager but more specifically to time execution of program kernals being run in parallel.  I could easily be wrong on that and probably know more by Monday, but that's where surfing the internet has thus far led me.  ;D
Logged
opencldev
Administrator
Jr. Member
*****
Posts: 90


« Reply #10 on: June 16, 2012, 09:22:31 AM »

Quote
The clProgram (and Script and Main) On Time event also appears to be a part of the circuit represented by the arrow back up to the Thread Execution Manager but more specifically to time execution of program kernals being run in parallel.

In the image above OpenCL Studio runs on the “host”. The clPrograms are downloaded to the GPU. The threadManager distributes the kernels (in clProgram) over all available processor. When you think about your program, completely ignore the number of processors on the chip. They should be irrelevant to your solutions.

You are right; it is a permission issue that does not allow you to save files under the Program Files directory in windows. It is strange though that OpenCL Studio cannot find libLua.dll when you create a new workspace. Can you verify that this file is in fact under \bindings\libLua in the new workspace. If not, try to copy it there from the workspace in the install directory of OpenCL Studio. Instead of creating a workspace via the menu in the editor, you can simply make a copy of the one in the install directory. This way you will still have all of the demos as well.

Quote
Now the only problem is getting the result of the "result[id] = a[id] * b[id]" equation from the GPU to the screen, which I expect to not be as simple,

There is a 100 ways to do that. You could draw it into a canvas under a window in the GUI or you could paint into a texture that is mapped onto an object. You could also write the content directly into the framebuffer, or simply arrange a pointset according to result[\i]. In any case that is a little more complicated and may requires mapping a GPU buffer via Lua script. A couple of examples worth looking at are radixsort.3dm and test\test_gui.3dm (canvas2).

Before you go on, can you try to install http://www.opencldev.com/downloads/OpenCLStudio.2.0.1.exe, and use this one instead of the current version (uninstall the current one first though; you can always go back to it via the download on the website). The reason is that the next release will unfortunately not be backwards compatible; at least not easily. This release 2.0.1, however, will be.
« Last Edit: June 16, 2012, 09:26:05 AM by opencldev » Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #11 on: June 17, 2012, 04:37:33 AM »

In the image above OpenCL Studio runs on the “host”. The clPrograms are downloaded to the GPU. The threadManager distributes the kernels (in clProgram) over all available processor. When you think about your program, completely ignore the number of processors on the chip. They should be irrelevant to your solutions.

I think I can get used to that, real fast!  Also explains why I did not find where it divided the work among separate "cores" or anything like that, as if you somehow ignored that in your code.  That problem is now solved!

And to work on the others, the path libLua was installed in is:

C:\Program Files (x86)\OpenCL Studio\workspace\bindings\libLua\libLua.dll  

Saving a file to where the samples makes it look like it was saved OK when it wasn't, but no additional error comes on the screen.
Trying to Open a workspace folder (that was not created by studio) reports "Unable to open libLua.dll. Reverting to default workspace" then keeps happening everytime studio is restarted, as though it's then looking for libLua in the other folder instead of reverting to default.  The problem goes away after creating a New workspace using the studio.

The new version installed just fine too.  Has the same errors just mentioned, and as you indicated might happen the test application I wrote was no longer compatible but it did not crash the studio trying to open it.  I also noticed that it would not save what was entered in the Code window for clProgram until I moved it into in the Script window and added a print("on time") to monitor the event.  Was as though there being no scripts in the application makes code invisible, as though none was entered.

Samples all worked the same, with the same timeout problems that would require the Task Manager to close/unfreeze the studio.

At least the good news is that it still looks usable.  And even with the bugs it's still the best I have found anywhere for quickly getting started in parallel game and/or science models.  The add-ons to MS Visual Studio (7.0 and up) and other products can be for whoever wants to program a new .dll because a place like Planet Source Code does not even want those and .exe exchanged there because of being easy to add invisible malicious code in them.  There is a need for a more "sandbox" environment like your studio provides, where all the code is in a .3Dm that runs using a .exe that installs .dll's that you provide everyone.  Just have to keep it simple and not include code that can become a security risk.  

At this point there are many programming languages to choose from where you will automatically be incompatible with most everyone else, and none of them make it easy to program realistic cellular models that need as much parallelism as is possible.  You are working on what solves all our problems.  Next generation Intelligence Design Lab needs it, to model from cellular behavior on up.

You here don't have to compete with C compilers and Studios for working with .dll type files.  Can be the teething biscuits to that level, where one has to be willing to send Microsoft or someone else money for what their studio adds to yours.  Is like an interesting niche you're in that helps make what you have friendly with giants of computing, who are better to have on your side than not because of direct competition with their products with the studio.
« Last Edit: June 17, 2012, 05:50:52 AM by GaryGaulin » Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #12 on: June 17, 2012, 04:49:01 AM »

And since you are now establishing something to keep .3Dm files backwards compatible (or at least easily converted by others to load correctly) Microsoft seems to have made that easy with the way they store what's on the form and its code in the .frm files where all controls are described in text.  It's there also possible to with Notepad or other change a Visual Basic program, even though you still needed VB6 or lower to run it.  I wanted to mention, in case you can use that as a template for storing in an easy to transmit text form.  Also helps make everything the file contains easy to see, so it's easier to tell what's in it and confirm it's all safe to run code setting up one or more forms on the screen, not connecting to the internet to a site to hack through.  After noticing non-text code mixed with text in the 3Dm files I thought this was a good time to mention the .frm file format that I don't think Microsoft would mind your using their text format as a model for .3Dm files with roughly the same control drawing parameters as Visual Basic did/does.  Be more what they would expect to see inside one, or at least ones used to VB .frm type files.

I'll post some below with a number of controls in it from the earlier mentioned Intelligence Design Lab that's at Planet Source Code.  After that I'll include a picture of what the screen it draws/runs looks like.

Code: [Select]
VERSION 5.00
Begin VB.Form Intelligence
   AutoRedraw      =   -1  'True
   Caption         =   "Intelligence Design Lab with 1 or 2 Lobe brain, Gary S. Gaulin, 2011"
   ClientHeight    =   11010
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   15240
   BeginProperty Font
      Name            =   "MS Sans Serif"
      Size            =   9.75
      Charset         =   0
      Weight          =   700
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkTopic       =   "Form1"
   ScaleHeight     =   734
   ScaleMode       =   3  'Pixel
   ScaleWidth      =   1016
   StartUpPosition =   3  'Windows Default
   WindowState     =   2  'Maximized
   Begin VB.TextBox BitMapText
      Height          =   300
      Left            =   13260
      TabIndex        =   74
      Text            =   "BitMap"
      Top             =   1080
      Width           =   1995
   End
   Begin VB.CheckBox NotesCheck
      Caption         =   "Notes"
      Height          =   255
      Left            =   2700
      TabIndex        =   72
      Top             =   60
      Width           =   1035
   End
   Begin VB.CheckBox ChartCheck
      Caption         =   "Chart"
      Height          =   255
      Left            =   9720
      TabIndex        =   66
      Top             =   60
      Width           =   915
   End
   Begin VB.Frame Frame3
      Caption         =   "SubSystems"
      BeginProperty Font
         Name            =   "MS Sans Serif"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   855
      Left            =   12180
      TabIndex        =   59
      ToolTipText     =   $"IntelligenceDesignLab.frx":0000
      Top             =   8040
      Width           =   3075
      Begin VB.CheckBox ColorSystemCheck
         Caption         =   "Taste"
         Height          =   405
         Index           =   3
         Left            =   2280
         Style           =   1  'Graphical
         TabIndex        =   73
         Top             =   -60
         Value           =   1  'Checked
         Visible         =   0   'False
         Width           =   735
      End
      Begin VB.CheckBox ColorSystemCheck
         Caption         =   "Blue"
         Height          =   405
         Index           =   2
         Left            =   2040
         Style           =   1  'Graphical
         TabIndex        =   63
         Top             =   360
         Value           =   1  'Checked
         Width           =   855
      End
      Begin VB.CheckBox ColorSystemCheck
         Caption         =   "Green"
         Height          =   405
         Index           =   1
         Left            =   1080
         Style           =   1  'Graphical
         TabIndex        =   62
         Top             =   360
         Value           =   1  'Checked
         Width           =   855
      End
      Begin VB.CheckBox ColorSystemCheck
         Caption         =   "Red"
         Height          =   405
         Index           =   0
         Left            =   120
         Style           =   1  'Graphical
         TabIndex        =   61
         Top             =   360
         Value           =   1  'Checked
         Width           =   855
      End
   End
   Begin VB.PictureBox Picture1
      AutoRedraw      =   -1  'True
      BackColor       =   &H00000000&
      BeginProperty Font
         Name            =   "Courier"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   10335
      Left            =   60
      ScaleHeight     =   685
      ScaleMode       =   3  'Pixel
      ScaleWidth      =   801
      TabIndex        =   0
      Top             =   360
      Width           =   12075
   End
   Begin VB.HScrollBar DrawYScroll
      Height          =   255
      Left            =   13260
      Max             =   500
      Min             =   1
      TabIndex        =   29
      Top             =   60
      Value           =   50
      Width           =   1035
   End
   Begin VB.HScrollBar DrawXScroll
      Height          =   255
      Left            =   11820
      Max             =   500
      Min             =   1
      TabIndex        =   27
      Top             =   60
      Value           =   50
      Width           =   1035
   End
   Begin VB.Timer ClockTimer
      Interval        =   1000
      Left            =   14400
      Top             =   10560
   End
   Begin VB.HScrollBar StepTime
      Height          =   255
      Left            =   13800
      Max             =   1000
      Min             =   10
      SmallChange     =   10
      TabIndex        =   7
      Top             =   3960
      Value           =   30
      Width           =   1335
   End
   Begin VB.HScrollBar ZoomScroll
      Height          =   255
      Left            =   720
      Max             =   500
      Min             =   1
      TabIndex        =   1
      Top             =   60
      Value           =   100
      Width           =   1155
   End
   Begin VB.Timer CycleTimer
      Enabled         =   0   'False
      Interval        =   10
      Left            =   14760
      Top             =   10560
   End
   Begin VB.Frame Frame2
      Caption         =   "CONFIDENCE"
      BeginProperty Font
         Name            =   "MS Sans Serif"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1035
      Left            =   12180
      TabIndex        =   12
      Top             =   1560
      Width           =   3075
      Begin VB.HScrollBar ConfAveragesScroll
         Height          =   255
         Left            =   660
         Max             =   15
         Min             =   1
         TabIndex        =   32
         Top             =   360
         Value           =   12
         Width           =   1335
      End
      Begin VB.Label StoredMemoriesLabel
         AutoSize        =   -1  'True
         Caption         =   "0"
         Height          =   240
         Left            =   1920
         TabIndex        =   71
         Top             =   720
         Width           =   135
      End
   Begin VB.Label Label5
      Caption         =   "           Show on Screen           "
      BeginProperty Font
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   -1  'True
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   12240
      TabIndex        =   35
      Top             =   9780
      Width           =   2955
   End
End
Attribute VB_Name = "Intelligence"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'----------------------------> CODE I WROTE STARTS HERE, TO END, ABOVE WAS ADDED BY VISUAL STUDIO.

« Last Edit: June 17, 2012, 04:57:21 AM by GaryGaulin » Logged
opencldev
Administrator
Jr. Member
*****
Posts: 90


« Reply #13 on: June 17, 2012, 11:05:31 AM »

OpenCL Studio will soon use xml as the underlying data format... the .3dm will disappear completely. xml is a somewhat less legible than the .frm you posted, but there will be more tool support.
Logged
GaryGaulin
Newbie
*
Posts: 9


« Reply #14 on: June 17, 2012, 08:17:31 PM »

If XML works best for saving a file with the entire application in it then all I can say is hurry up and get that in because I'm anxious to try that!

I just can't help but think about the way MASM worked fine for so many years, then later came virus detection that either would not allow it to be installed or made so many quarantine holes it ended up like swiss cheese.  Now even office documents and pdf's can set off security warnings.  I hate to see that sometimes happening with studio applications.

Although they are not always seen as a vital resource I think it is vital to be compatible with software exchange sites that would use a studio like this for writing a Pong game or other simple things that help others get started.  You would not have to worry as much about explaining how to use it, just need to provide a simple IDE for writing parallel applications then let your fan-base take care of all the rest, for you.
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 2.0.2 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!