문명6 DX12 및 비동기 연산 지원 설
뒷북인지 모르겠지만, AMD 그래픽 카드 유저에게는 조금이나마 희소식이 될지 모르겠습니다.
차세대 게임으로서 당연하게 나아갈 방향인, 문명6가 다이렉트12를 지원하며 비동기연산(Async)를 지원 할 것이라는 카더라입니다.
AMD의 팀과 개발사인 Firaxis의 개발자와 협력중인가 봅니다.
(출처: http://www.overclock.net/t/1605861/g3d-civilization-vi-will-get-dx12-support-and-asynchronous-compute )
ps. 타스 밴치가 n당에 유리하게 조작되었다는 설과 함께, 그레픽 카드를 구매하려고 하는 입장인 지금에서 혼돈이네요~
어서 빨리들 나와줘~
- 2023-07-26 00:27 여러 이야기 > 아머드 코어 VI 게임플레이 프리뷰 영상이 반다인 남고 공식채널에 떴네요 *6
- 2019-11-09 09:02 여러 이야기 > 험블 먼슬리 초이스로 12월 7일 변경됩니다 *24
- 2019-10-10 21:09 여러 이야기 > 간만에 개취 겜 후원 했습니다. *4
- 2019-06-07 11:27 게임 소식 > 라리안스튜디오 Baldur's Gate 3 공개 *1
- 2019-02-23 13:35 여러 이야기 > HOI4 1.6.0 번역 동원령! *9
-
-
부끄럽지만 대근님이 올렸던 벤치의 글자를 제가 잘못 읽어서 지웠습니다. ㅋㅋ Games With AA를 DX12 Games With AA로 잘못 봤기에 한참 잘못된 결론을 내렸습니다. AA 처럼 추가 연산부하량을 준다면 비동기 연산 효율성이 떨어지지 않을까 하는 숨은 전제에서 그런 결론을 내렸는데 그렇다기 보다는 별 상관 없을 것 같습니다.
Guru3D에서 측정한 데이터를 기반으로 (출처 1, 출처 2) 평가해 보면 n당 친화 게임 1종(라오툼), a당 친화 게임 1종 (히트맨), 중립적 게임 2종 (햄탈워, AotS) 총 4종의 DX12 QHD(아시다시피 타임 스파이는 QHD 벤치입니다.) 벤치마크 기하평균의 상대성능이 대략적으로 타임스파이 상대성능과 대략 비등합니다. QHD 환경에선 VRAM 이슈 때문인지 970의 게이밍 성능이 약간 모자라게 나오는 것 같다는 것 외에는요. 타임 스파이 같은 종합 벤치 프로그램이 실 게임 환경을 반영하지 못한다는 결론에 답이 되었으면 합니다.
-
아까 자료와는 조금 틀리지만
게임 제작사별 선호 API나 노하우가 다르니, 게임사의 제품에 따라 그래픽 카드의 성능의 차이는 있는 것은 당연합니다.
근데 말씀하신 결론이 이상해요~.
이 게임들의 평균값(상대성능)과 벤치프로그램의 상대성능 비교를 통하면 거의 일치하는데 결론이 왜 실게임을 반영하지 못한다가 되는거죠?, 반영한다로 결론이 나야 하는거 아닌가요? ㅎㅎ ^_^? -
'못한다는 결론에 답(반대되는 응답)이 되었으면 합니다. '라는 의민데 제가 좀 더 적확하게 쓸걸 그랬네요.
-
더불어 링크 글의 번역에 약간 오역이 있어 수정해 봤습니다.
출처: http://bbs.ruliweb.com/news/board/1003/read/2104060 의 댓글
"3dmark doesn't use Asynchronous Compute!!!!"
스팀 커뮤니티에 올라온 '3D마크는 비동기 컴퓨트를 사용하지 않는다' 라는 글에 제작자가 직접 단 댓글입니다
Yes it does.http://www.futuremark.com/downloads/3DMark_Technical_Guide.pdf
It was not tailored for any specific architecture. It overlaps different rendering passes for asynchronous compute, in paraller when possible. Drivers determine how they process these - multiple paraller queues are filled by the engine.
The reason Maxwell doesn't take a hit is because NVIDIA has explictly disabled async compute in Maxwell drivers. So no matter how much we pile things to the queues, they cannot be set to run asynchronously because the driver says "no, I can't do that". Basically NV driver tells Time Spy to go "async off" for the run on that card. If NVIDIA enables Asynch Compute in the drivers, Time Spy will start using it. Performance gain or loss depends on the hardware & drivers.
Edit: Quoting 3DMark Technical guide
(3D마크는 비동기컴퓨트를) 사용합니다.3D마크는 어떠한 특정 아키텍쳐에 맞게 짜여진 것이 아닙니다. 3D마크는 비동기컴퓨트를 위해 별개의 렌더링 패스들을 가능한 경우 병렬화 하여 오버랩 합니다. 드라이버는 이것들을 어떻게 처리할지 결정합니다 - 다중 병렬 큐들은 엔진에 의해 채워집니다.
맥스웰에서 성능이 떨어지지 않은 이유는 엔비디아에서 맥스웰 드라이버에서 비동기컴퓨트 기능을 꺼두었기 때문입니다. 그래서 우리가 얼마나 많은 것들을 큐에 던져넣더라도, 맥스웰 드라이버는 비동기적으로 실행되지 않습니다. 왜냐하면 드라이버가 "아, 나 그거 못해". 라고 하기 때문이죠. 기본적으로 엔비디아 드라이버는 타임스파이 데모를 "비동기 OFF" 상태로 돌립니다.(맥스웰의 경우). 만약 엔비디아에서 드라이버상 비동기 컴퓨트를 작동하게 한다면, 타임스파이 데모는 그걸 사용하게 됩니다. 퍼포먼스 상승 혹은 하락은 하드웨어 및 드라이버에서 결정됩니다.
'비동기컴퓨트는 "병렬화" 가 핵심인건데 엔비디아는 그게 안되는 것 아닌가' 에 대한 댓글
Yes it is. But Engine cannot dictate what the hardware has available or not.Async compute is about utilizing "idle" shader units. Slower the card, less idle ones you have. Less capable hardware may also be hard pressed to utilize all of them even if the engine asks nicely. Also there may be limitations as to what workloads in the engine *can* run in parallel. Yes, Time Spy is very graphics-heavy, since, well, its a graphics benchmark. But even there many of the rendering passes have compute tasks that can use this.
Ultimately some AMD cards gain quite a bit (ie. they have a lot of shader units idling while rendering and they are very good at using them for the available paraller loads). Some AMD cards gain less or not at all (either less capable at paralleriziing, less idle shader units or no idle shader units at all - for example a HD 7970 is hard pressed to have any to "spare")
Some NVIDIA cards cannot do this at all. The driver simply says "hold your horses, we'll do this nicely in order". Some NVIDIA cards can do some of it. They might use another way than AMD (more driver/software based), but the end result is the same - the card hardware is capable of doing more through some intelligent juggling of the work.
네 그렇습니다. 하지만 엔진은 어떤 하드웨어가 가능한지 아닌지를 판단할 수 없습니다.비동기 컴퓨트는 "유휴 쉐이더 유닛" 의 활용이 목적입니다. 느린 카드들은 유휴 쉐이더 유닛이 적습니다. 유휴자원이 적은 하드웨어는 엔진이 아무리 잘 명령하더라도, 모든 자원을 활용하기는 쉽지 않습니다.
또한 어떠한 엔진상의 어떠한 워크로드를 병렬화 할 수 있는가에는 제약사항이 있습니다.또한 엔진이 병렬적으로 작동할 수 있다 하더라도 워크로드가 무엇이냐에 따라 제약이 있을 수 있습니다.타임 스파이는 매우 그래픽적으로 무거운 (첨. 그래픽 렌더링 패스가 아주 많은) 벤치마크 이지만, 그럼에도 불구하고네 타임 스파이는 그래픽 비중이 높은, 그니까 그래픽 벤치마크죠. 그렇지만 많은 렌더링 패스들은에서 컴퓨트 작업을 포함하며, 이것을(비동기 컴퓨트를) 사용할 수 있습니다.궁극적으로 일부 AMD 카드들은
아주 약간의 이득상당한 이득을 얻을 수 있을 겁니다. (예를들어 많은 쉐이더 유닛들이 유휴상태에 있으며, 그것들을 활용할만한 병렬화 가능한 작업이 있을 경우) 일부 AMD 카드는 그것보다 덜 이득을 볼 수도 있으며, 혹은 전혀 이득을 보지 못할 수도 있습니다. (병렬화 가능한 작업이 적을경우, 유휴상태의 쉐이더 유닛이 적거나 아예 없을 경우 예를들어 7970의 경우 이미 쥐어 짜낸 상태라 그러한 "여유"를 가지기가 매우 어렵습니다.)일부 엔비디아 카드들은 이것들을 전혀 할수가 없습니다 (맥스웰 얘기겠죠). 드라이버는 단순히 "야 잠깐있어봐, 우리가 알아서 할게" 라고 하는겁니다. 일부 엔비디아 카드들은 그걸 약간 할 수가 있습니다.(파스칼 얘기겠죠) 그 카드들은 AMD와는 다른 방식을 사용할겁니다. (더 드라이버/소프트웨어에 기반한 방식), 하지만 최종 결과물은 같습니다. 그 카드들은 더 많은 THROUGH (큐에 던저넣은 작업들) 을 지능적인 작업 방식으로 처리 할 수 있습니다.
그러나 엔비디아 파스칼은 AMD와 다른 방식으로 Async Compute 를 한다는 요지는 정확하게 번역했습니다. 저도 비슷하게 Async의 큐 배분을 담당하는 스케쥴러를 엔비디아에선 하드웨어에서 빼버린지라 소프트웨어적으로 CPU가 처리하고, AMD는 자체 하드웨어로 한다는 이야기를 들었습니다.
이런 내용을요. http://iyd.kr/994#comment12531138
-
이 글과 더불어 나중에 알게된 사실이지만
A당은 비동기 컴퓨트 스케줄링을 위한 제어유닛이 하드웨어에 있는 반면에
N당은 하드웨어적인 스케줄링 유닛이 없기때문에, CPU를 통해 스케줄링한다고 합니다.
따라서 N당 제품의 경우 CPU에 스케줄링 부하가 걸린다고 하네요.
결과적으로 바람직한 방향으로 디자인된 AMD의 방식이 좋지만, 성능이 좋은 CPU를 보유한 유저와 자금이 크게 문제되지 않는 유저에게는 N당의 방식이 현재로서는 더 나은 퍼포먼스를 보여주기 때문에 N당으로 가는것 같습니다.(물론 가격적이 요인과 기다림에 지친분도 있는듯 합니다.) -
기존에 삭제한 댓글에도 남겼지만 어디까지나 비동기 연산은 작업 전환 간 유휴 상태를 없애서 효율을 올리는 거지, 클럭과 클럭 당 성능 등 전반적인 성능 자체에는 크게 관련이 없으니까요. 깡성능이 좋으면 이런 효율 증대가 없는 DX11에서 좋다는 것이고, 결국에 많은 게임에서 비동기 연산을 잘 쓰지 않으니까 엔비디아 쪽이 유리하긴 합니다. 더불어 국내 RX 480이 너무 비싸기도 하고, 레퍼런스가 너무 싸구려 쿨러를 달고, 너무 부족한 전원을 달고 나온지라 까인 감도 있죠. 허나 원인이 어떻든 게이밍 벤치, 3디마크 등의 종합 벤치를 보면 성능을 절대적으로 판단이 가능하니 이걸 보고 판단하는 게 "게임을 위한 하드웨어 활용" 이라는 궁극적인 목적 상 좋다고 생각합니다.
-
ㅎㅎ 덕분에 정보도 얻고, 관련되 토론(?) 이야기도 해서 좋습니다.
그나저나 내일 1060 나오고 벤치와 성능비교 자료들 뜨는거까지 보고 사야겠죠? ㅋㅋㅋ -
저도 정리하는 시간을 가져서 좋았습니다. ㅋㅋ 더불어 함부로 댓글 남겼다가 쪽팔릴 뻔 했는데 그래도 수습을 이해해주셔서 감사합니다.
엔비디아에서 배포한 리뷰어 가이드에선 1060이 480을 누르더군요. Guru3D, Pcgameshardware.de, IYD(ㅋㅋㅋ) 등의 서드파티 정보를 잘 활용하시면 구매에 도움이 될 것 같습니다. -
쪽팔림이 무서우면 알아가는 재미도 없겠죠. 저도 쪽팔림을 감수하고 AA이나 기타 관련해서 짧은 지식으로 여쭤본 것이니까요.
자료들이 워낙 탄탄하게 가지고 있으셔서, 어디 메모하시거나, 블로그 같은데 쭈욱 정리하시는것 같습니다.
저는 그냥 눈팅으로 훓고 지나가는 타입이라 최근 본 글이나 자료가 아니면 출처를 다시 찾느라 한참인데 말이죠... ^^; -
저는 그냥 검색 키워드만 저장해 두고 궁금하면 나중에 또 찾아봐요 ㅎㅎ. 아무래도 여러번 찾다 보니 기억에 더 오래 남는 것 같습니다. http://itcm.co.kr/g_board/1045450 이런 가이드 같은 것도 쓰려고 했는데 일에 치이고 게임하느라 ㅋㅋㅋ 목차와 일부만 써놓고 못하고 있습니다. 그냥 포기할까도 생각했다가 그냥 짧게라도 필요한 내용만 간단히 쓰려고 노력중입니다.
-
히익!
무서버, 저는 이런분과 이야기 한건가요?!!!!! ㅎㅎㅎㅎ
-
더불어 다들 뭔가 오해가 있거나, 제가 오해하는 것일 수 있는데, 프리엠션(선점)과 에이싱크로너스 컴퓨트 (비동기식 연산)는 다른 걸로 알고 있습니다. 파스칼은 비동기 연산을 다이나믹 로드 밸런싱으로 소프트웨어적으로 GPU 단위에서 하는 것이고 AMD는 더 세세하게하드웨어적으로 연산 단위에서 하는 것이고요.
프리엠션은 기존에도 하던 것인데, 선결 과제들을 먼저 해결하게 하는, 일의 우선순위 배분 방식이라고 알고 있습니다. 그걸 파스칼에서는 그래픽에선 픽셀 단위로, 연산에선 명령어 단위로 할 수 있어서 훨씬 더 세밀한 배분이 가능하다고 홍보했죠.
출처 :http://www.eteknix.com/pascal-gtx-1080-async-compute-explored/
-
파스칼과 폴라리스 하드웨어 아키텍쳐를 놓고보면 명확하게 파스칼은 스케줄러 관련 유닛이 없는 걸확인 할 수 있습니다.
따라서 프리엠션의 경우 드라이버 단(소프트웨어)에서 처리되는 것으로 보이며, 이게 스케줄링 작업 처리를 CPU로 부하를 주는것 같습니다.어찌되었든 AMD 폴라리스는 하드웨어 스케줄링 유닛이 있어 벌칸이나 DX12에서 비동기 연산관련 부하를 CPU에 주지않고 GPU에서 처리가능한 장점이 있지만, 성능은 970~980급 (FHD)수준 내에서 차세대 그래픽 API들에게 좋다고 어필하는 것이고
NVidia의 경우 벌칸과 DX12의 비동기 연산관련 하드웨어적 지원은 없어 스케줄링에 CPU부하를 주지만 FHD이상의 해상도에서 기존 970~980보다 더 나은 성능을 보여주는 제품으로 어필하는 느낌입니다.
1080,1070제품이 480과 비교하는 것 자체가 가격과 급수에서 차이가 있기 때문에 비교차체가 틀린것 이지만
각 회사의 방침과 비젼이 대략 그러해 보이네요.
-
윗댓의 요지는 프리엠션은 효율 증대에 기여하지만 그것이 비동기식 연산 구현 기술은 아니라는 점입니다. 엔비디아는 다이나믹 로드 밸런싱으로 비동기식 연산을 하는 셈이라는 것이죠. 어쨌든 AMD는 메인스트림을 타겟으로 그 라인업을 가장 먼저 냈으며, nVIDIA는 하이엔드를 가장 먼저 냈습니다. 둘이 서로 시장을 비껴갔죠. 근데 이번 1060이 그 메인스트림 라인업에서도 우위를 점할 가능성이 높아지면서, AMD는 전 라인업이 다 밀릴지도 모른다는 위기에 싸여있습니다. 베가가 정말 가성비로 중무장하지 않으면(1070보다 가성비가 훨씬 좋아야 합니다.) GP102로 제작될 것 같은 타이탄 후속작, 980Ti 후속작에 성능도 안되면서 가성비도 별로인 최악의 사태가 될 수도 있겠죠.
어랏?! 잼아저씨 댓글 어디로 갔나요???
타스와 DX12와 DX12AA옵션 관련 댓글이었는데....
일단 타스가 'n당에 유리하게 조작되었다'는 내용을 검은동네 그래픽 게시판에서 봤던 내용이었고, 한쪽 주장같아 '설'이라고 기재했습니다.(설, 이란건 아시겠지만 가설이나, 확실하지 않은 주장입니다.)
이 주장의 주요골자는 '타스가 A당보다 N당에 성능이 좋게나오게 비동기 컴퓨트가 부하를 주도록 하는 것이 아니냐'는 주자이었습니다.(이후 다른 게시글을 보니 N당에서 드라이버수준에서 비동기연산을 맥스웰이하 모델에서는 동작안하도록 했다는 내용이 있네요)
댓글로 달아주신 자료는 어디에 올라왔던 자료인지 링크좀 알 수 있을까요? 전문을 일단 보고 싶습니다.
(글픽카드 하나사려고 엄청 공부해야 하네요 ㅋㅋ)
댓글의 내용으로만 봐서는 무슨말인지 잘 모르겠습니다.(그래프로 보아서는 N당제품이 타스보다 DX12의 AA옵션 준것에서 성능이 더 나온다로 보이며, 결국은 벤치프로그램 보다는 DX12를 사용하는 게임에서 성능이 향상폭이 크고, 벤치프로그램이 실게임의 환경을 반영하지 못한다로 결론이 납니다. 비동기와 관련없어 보임)
그리고 추가적으로 질문이, AA옵션이 '안티앨런싱'이 아닌 다른것을 의미하나요? 안티앨런싱이 맞다면 안티앨런싱이 비동기연산에 영향을 주는부분인가요? 제가 알기론 안티앨런싱은 비동기와는 그렇게 상관이 없는 것으로 알고 있습니다만...