Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Comment Re:context consumption vs creation (Score 1) 393

If they are planning to use it as a professional they will buy it. I don't see your point here. People use the tools that is the most appropriate for them. And people will more likely accept a slightly lower user experience if they won't use a tool regularly if they can save several hundred dollars. Or they try to pirate it, but that is not the point in this discussion.

Comment Re:context consumption vs creation (Score 1) 393

I thought we talked about normal people. Please name a use case where GIMP is not sufficient for a kid or a non-professional? If they want Photoshop they have to buy it. Now guess how many non-professionals would actually _buy_ Photoshop. And again, no explanation whatsoever where you are basing your claims on. "They want", "is unintuitive for them" how do you know? Again, we are talking about what Jon Doe is doing. So most likely no HDR, no manual color correction. Don't get me wrong, I would say Photoshop may have a more streamlined work flow, but a) you really notice it, if you start doing more advanced stuff and b) it comes with a price tag and features Jon Doe will most likely never use.

Comment Re:context consumption vs creation (Score 2) 393

Thousand of dollars for what kind of software? A simple laptop costs a couple hundred. And can be taken "anywhere", too. What do "normal people" use for content creation? Office packages like libre office or MS office. First one is free. What else? Image processing, GIMP is free and good enough for "normal people". Movie cutting... kdenlive is good enough for normal people. Maybe a sequencer for musicians? How about reaper, $60?

So can you me please explain what multi-thousend dollar applications those "normal people" now don't need anymore?

Comment Re:Reuse not a matter of will... (Score 1) 164

UML is abstract, but it is in no way a programming language.

On the other hand: As soon as you have implemented your components in the language you use, you can use them as a higher level abstraction and compose your system out of those components. And yes, you need some experience to decide how a component has to look and function like, to be fit for reuse.

Well there are concepts for being even more abstract than say C# or Java. For example Domain Specific Languages. But I don't really like them, you introduce the next layer above all other. More over there is the possibility of model to model transformations, so you can automatically translate from one language to another. But again this is so complex, I haven't seen a working implementation yet.

Comment Re: So: propoganda works. (Score 1) 658

Interpretation is something everyone has to do for themselves. If you just accept the interpretation of other people you can be really easily influenced in what you believe or feel. This thing between ones ears is there to get used, not just to consume what other people tell you.

BTW: TL;DR is an abbreviation not an acronym.

Comment The article clearly summs up why it was not agile (Score 1) 349

"'Agile' has been treated as a silver bullet – not as what it really is – just another design methodology – while much of what is supposed to happen with an agile software development project – especially regular and repeated testing of prototypes - has been conspicuously absent."

So no surprise it failed. If you throw away the most important bits that are supposed to ensure some quality and functionality, what you expect what happens?

Comment Re:I'm not a computer scientist, and... (Score 1) 135

Actually parallelization IS why GPUs are fast. You have some restrictions but it's the parallel execution which gives you the boost in performance.

The things a GPU can do are not so limited as you might think.

The statement about "if" pausing all processors is wrong. On my card 64 work items are executed in lockstep on 16 processors in something called a wavefront. Now I have way more processors on the card. Furthermore only when the if statement in the control flow is evaluated true for some work items and false for others you get hit by degraded performance, as you then need to execute both paths sequentially. If the if statement is evaluated the same for the whole wave front you don't loose anything. This works on attributes of the work items or other run time data, too.

There is a good possibility for race conditions in OpenCL code. Depending on the algorithms and optimizations one has to synchronize or use different places for input and output.

Comment Re:I'm not a computer scientist, and... (Score 1) 135

Actually this is what is done on GPUs. Think of it this way: You have a number of "processors" which share one control flow. The number of "processors" sharing one control flow on a AMD 79xx is 64. Now all these "processors" evaluate the if-statement. If it's true for some and false for other "processors" than both paths are executed sequentially. Those "processors" which would normally not run -because they belong to the other branch- are masked, so they don't execute the instructions. If the if-statement is evaluated true or false for all "processors" in this group only one path is taken.

Note: Actually there are 16 processors working parallel but they execute 4 times, each time on a different work item. So the correct word for "processor" would be work item.

Comment Re:I'm not a computer scientist, and... (Score 1) 135

Yes, you will somehow need to branch at one point - well at least I can't think of a way without branching - but not every branch makes your program crawl like a snail. For example the amount of work done in the branches really does matter. If you can't avoid branching try to do as little as possible in the branches. ;)

I for one would write the current position of a "hit" into the same position of a second array. Otherwise write a zero. So your branches are quite minimal:

if(hit) {
    secondArray[id] = id;
} else {
    secondArray[id] = 0;
}

Now you can sort secondArray to get rid of the zeros. The result is something similar to a list of all rows your query should fetch. Now you can grab the content of the rows and write them to a buffer and send it to the cpu.

Slashdot Top Deals

The sum of the Universe is zero.

Working...