|
We had an assignment at our college(bachelors study...) - that required the use of CUDA or OpenCL. I chose CUDA and it was rather fun. We already had a project made and we had to make it work in parallel on a graphics card. It was a ray tracing algorithm and I would definitely like to do something like that again.
|
|
|
|
|
are that you start noticing how similar they actually are. Eventually you learn a skill that makes it possible for you to change chip-sets easily. You start realizing that it is similar to programming languages, there is a couple of principles that stays the same. If you know these principles, you can pickup the ins-and-outs of any chipset very quickly. Then comes the art of writing code independent of any chip set, there are a couple of things which you can make independent, and a couple of things which you can't.
In my experience only a small percentage of the code in an application written for a specific chip-set will work on only that target chip-set... The rest of the code in the application is pretty much chip-set independent. Generally chip-sets follows a specific standard (e.g. C99) and if you keep to that standard the syntax of your code should work with any chip-set compiler, given that they follow the same standard.
"Program testing can be used to show the presence of bugs, but never to show their absence."
<< please vote!! >></div>
modified 10-Sep-15 6:50am.
|
|
|
|
|
I've got some neuron simulator code from years ago that would be perfect for several thousand processors.
Marc
|
|
|
|
|
I have started to look around at NVIDIA and CUDA, just wish I had more time to look into it.
"I've seen more information on a frickin' sticky note!" - Dave Kreskowiak
|
|
|
|
|
Necessary being defined as:
- The target hardware has been specified
- The performance bar has been specified
- The performance bar cannot be reached on the target hardware using standard code.
In any other case, the (non)-portability of the resulting code makes it not worth the effort.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
AS previous comments, for embedded systems you have to target specific processor / hardware configurations
|
|
|
|
|
title says
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
...because it's a pain in the bum, chips change, and 5 years later your chip-specific code is obsolete compared to generic code that may simply need a quick recompile with updated compilers.
However: I *love* that feeling of breaking out of the standard libraries and using features the average Joe can't use or doesn't know how to use. The secret little windy passage that leads to wonders...
cheers
Chris Maunder
|
|
|
|
|
1) Agree. It can be quite a headache every few years. But hey... try to compile VC++ v6.0 with MFC in .Net
2) Agree as well, it is like the explorers of the 18th century. Being the first to achieve something out of the standard can be a big "high"
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
|
Arduino (Many flavors), TI's LaunchPad, Raspberry Pi, Beaglebone Black and want to get into more.
Love embedded programming and the only thing holding me back from other platforms is the expense of the IDE and I refuse to use Eclipse unless there is absolutely no other way.
New version: WinHeist Version 2.1.1 new web site.
I know the voices in my head are not real but damn they come up with some good ideas!
|
|
|
|
|
I hate Eclipse too... but you can always write code without an IDE or use another alternative.
|
|
|
|
|
Albert Holguin wrote: but you can always write code without an IDE or use another alternative.
True but haven't taken the time to learn, more than enough to get by about MAKE files.
Plus an IDE just makes it so much easier.
New version: WinHeist Version 2.1.1 new web site.
I know the voices in my head are not real but damn they come up with some good ideas!
|
|
|
|
|
Mike Hankey wrote: Plus an IDE just makes it so much easier.
That's a fact.... I did enjoy my days working with VisualStudio. Working with Visual Studio for so long also makes me appreciate how crappy Eclipse really is.
|
|
|
|
|
Albert Holguin wrote: Working with Visual Studio for so long also makes me appreciate how crappy Eclipse really is
Yeah VS spoils one doesn't it?
For all it's faults VS is still the best show in town!
New version: WinHeist Version 2.1.1 new web site.
I know the voices in my head are not real but damn they come up with some good ideas!
|
|
|
|
|
Only if I would have to use that chip-set for myself. I wouldn't bother investing my time writing any program for chipsets even as an open-source.
I am more of a "write-once use-anywhere" sort of guy!
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Afzaal Ahmad Zeeshan wrote: I am more of a "write-once use-anywhere" sort of guy
I agree but this doesn't always work well when your target platforms are vastly different. You can't write code that works well on a server with it's huge amount of resources and expect that to work well in an embedded device with limited processing power and RAM.
|
|
|
|
|
Quote: You can't write code that works well on a server with it's huge amount of resources and expect that to work well in an embedded device with limited processing power and RAM.
I wouldn't even bother thinking of the same thing, who would like to write the code for ASP.NET to run it on Arduino.
Raspberry Pi 2 is an exceptional case. I would love to write the code for ASP.NET website and host it on Raspberry Pi 2. Don't count Raspberry as a chipset? My bad.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
I personally work with mostly C++ for engineering/scientific applications.
|
|
|
|
|
... as such, until now, my challenge was always to make sure I could support the widest range of devices possible.
It's really the opposite of what is asked here, and I believe at least as challenging.
|
|
|
|
|
This is the typical case, the same happens with me
|
|
|
|
|
When you have to deliver real-time performances many subroutines may be thoroughly optimized. Where I work we have an assembler library with extra-optimizied functions to rotate and/or mirror 8 bit and 16 bit image buffers, plus I created from scratch a library to apply a normalization of the grayscale of those buffers. They all target systems from x86 to SSSE3, all Intel of course, with a function for every conspicuous change (all benchmarked of course).
If I'll change job I'd try to go for a similar one, where there is no everchanging bloated framework or the-next-big-thing-that-will-die-in-2-years.
Geek code v 3.12 {
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
}
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
|
|
|
|
|
den2k88 wrote: the-next-big-thing-that-will-die-in-2-days years FTFY
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
...you have to. Or pretty much, nothing is going to work...
In the PC world? No, I don't, and I have no plans to. PC Manufacturers change parts quicker than Lancia used to!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Still I'd love to own an original Delta or Thema (I loved them both, but the Delta Evoluzione 220 hp and Delta HF Integrale were absolutely mind blowing).
Geek code v 3.12 {
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
}
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
|
|
|
|