So after watching this:
x265: Open Source H.265/HEVC Video Encoder
I have a better understanding about why existing single / few GPU video adapters are poorly situated to do the kind of analysis required for the future direction of video encoding.
Here's what I still don't get.
Why wouldn't it be possible to change the architecture away from a single very expensive GPU that does everything to having many less expensive GPUs on the same card / chip that are specifically designed to handle parallel tasks and share memory that would allow for significant offloading of the CPU for video encoding?
I just used AviUtl yesterday to try encoding a two hour 1080p movie, and running Win7 x64 with my AMD FX-8150 8-Core processor the task took over 16 hours with the cores running at near full tilt.
There's bound to be a better way of doing this with dedicated hardware and software that will exploit it.
+ Reply to Thread
Results 1 to 11 of 11
No market for what you propose ...... stuff is made to make money ..... not to satisfy a need for a few.
bendixG15: There are some very spendy workstation graphics adapter cards out there but I don't know to what extent they are just multi-threading oriented vs multi-processor oriented. I understand that consumer grade cards won't be able to do what I want for a long time, but once H.265 becomes widely adopted for things like 4k and 8k, I think it will inevitably generate a demand that is not now present.
Tom was asked over on the doom9 forums if it would be possible to do real time encoding with x265 if one were to build a massive intel based 48 core monster server. Tom replied that they are working on it and that they are trying to accomplish this using multiple servers working together in a segmented video encoding scheme.
Tom and friends are more interested in making excuses than actually coding something that the general public will want to use.
48 core is nothing compared the the government computer with a million cores,get that to encode with.I think,therefore i am a hamster.
in comparison an AMD R7 260x costs $140, has 896 cores and since AMD changed from the previous VLIW architecture to the GCN architecture all AMD cards are designed with gpu compute in mind from the ground up.
but it's not just the x265 people, the main concept people also seem to have given up on gpu compute, i asked over at the divx forums if there was any plans to add gpu acceleration to DivX265 and they said nope and main concept has removed the OCL and CUDA encoders from the new Total Code Studio 3, so i think these guys may be conceding the gpu powered encoder market to Elemental.
or perhaps they have some inside information that intel or nvidia is planning on releasing gpu's with built in hevc and they're waiting for that, who knows.
deadrats: So who was the guy in the video with all the slide that said "AMD", and why is he part of the problem vs part of the solution?
Forget about the Elemental blah blah blah - Yes, they did a realtime 4K 60FPS stream, but there was no quality measurement or analysis. You're comparing consumer level AMD cards, but the cost of a Elemental setup hardware & license isn't exactly cheap. It's geared for Enterprise markets and has an Enterprise price tag. Apples and Oranges
when you want to write parallelized code you can do one of two things: either code using what's known as instruction level parallelism or thread level parallelism. the easy way of thinking about it is that ISP can be thought of as micro-managing the execution of the code and TLP can be thought of as macro-managing the execution of the code.
ISP is accomplished by having an intimate knowledge of the execution units on a given processor and you use lots of assembler and/or simd instructions, with TLP you break up the tasks into threads that can be executed independently of another.
ISP style programming requires that you understand how the cpu functions on a basic level in order to get maximum performance, you need to have multiple code paths for each target architecture, it adds to code complexity, but because you're using assembler and hand tuning the code you can get maximum performance out of the cpu.
TLP has the benefit of being easier to maintain, much easier to scale with core count, easier to implement (some programming languages make it easier than others), the code is portable since it's not tied to any one specific architecture and while execution is typically slower, a good optimizing compiler will negate most of the speed lose, on my X6 1045t, the difference between x264 with asm and without is typically 20fps when the typical frame rates are 130fps with asm (i.e. 130fps asm vs 110fps no-asm).
the x265 people are run by barely literate chimps, they claim they have 200+ engineers that specialize in gpu acceleration yet the code using x86 specific assembler, have used as the foundation an encoder (x264) designed from the ground up to be anything but gpu friendly and seem to be hell bent on ensuring that the only gpu acceleration x265 sees is if someone pounds them in the ass.
they seem to think that they are position x265 to be the defacto standard in hevc, the goto encoder that everyone reaches for, what they are ensuring is that x265 will be the encoder of choice when one wishes to print out the source code and wipe their ass.
as for Elemental, yes they are expensive, but the point isn't cost, the point is disproving the jerkoffs that say "it can't be done".
DS spend years convincing the average user that gpus were ill suited for video encoding, he and said users chose to ignore encoders like ATI AVIVO that existed from back in the 9600pro days, was 8 times faster than the x264 of the day running on a pentium d 820, they chose to ignore GPEG2, a DX9 HLSL coded mpeg-2 gpu powered encoder that offered great quality and was fast.
if you want to know about the quality of Elemental's encoders go ask Blue Misfit, a definite x264 cheerleader (he used to use the tagline "use x264, seriously, use it now") who has said that both their h264 and h265 encoder offers great quality.
with regards to cost, you're right, it's rumored that their system uses 2 geforce titans and cost about 30 grand, the question is can you put together any system, with any combination of cpu's, for less than 30 grand that will allow x265 to encode hevc 4k 60fps video in real time?
i think we both know the answer to that.