2018년도 한창 이더리움 채굴 붐이 일었을때 1000번대 그래픽카드들로 많이 채굴을 하셨던것으로 기억합니다.
이중 GDDR5X를 메모리로 사용하는 경우는 알약(OhGodAnETHlargmentPill)을 사용하시면 획기적으로 해시가 많이 늘어 이를 사용하시는 분들이 많았습니다. 1080Ti의 경우에는 45에서 높게는 50 MH/s 까지도 나오기도 하고요.
헌데 대부분의 경우 이 알약이 잘 먹는 편이지만 몇 글카는 안 먹는 경우가 있는데, 특히 1080은 안먹는 그래픽카드 이야기가 종종 나옵니다. 최근에도 검색해보니 몇 분 계시더라고요.
채굴 고수님들은 이런 경우 해시를 증대시키는 노하우를 가지고 계시곘지만 최근 채굴을 막 입문하시는 분들 중에서도 1080 1080ti 등을 사용하시는 분들도 있을것 같아 참고삼아 글을 남겨봅니다
1. 근본적인 이유
근본적으로 알약이 안먹는 이유는 가지고 있는 GDDR5X 그래픽카드의 램의 수율이 좋지 않아서 입니다. 알약이든 후에서 소개할 straps 옵션이든 MSI 애프터버너에서 조정할 수 있는 "램 클럭" 이 아닌 램의 지연시간인 "램타이밍"을 좀 더 조여줘서 수율을 올리는 역할을 하는 것인데, 램의 수율이 좋지 않은 녀석이면 빡센 램타 조건을 버티지 못하고 뻑나버리는 것입니다.
글카가 알약을 거부할떄 보통 갑자기 사각 가로줄이 엄청 생기거나 OX 와 같은 무늬가 급증하다가 꺼지는 경험을 하실 것입니다. 대표적인 램 오작동시의 현상입니다. 이미 RTX 2천번대 그래픽카드가 원인은 다르지만 이러한 램불량으로 읒증 이슈를 겪었었죠.
따라서 해결책은 덜 빡센 램타 조건을 걸어주는 것입니다. 2-1번을 사용하셔도 되고 2-2번을 사용하셔도 되나 둘을 중복하셔서 사용한다고 성능이 늘진 않으니 하나만 선택해 사용해주세요.
2-1. 알약 프로그램 실행 방식 설정
알약 프로그램을 실행시 단순 실행하는 것이 아니라 OhGodAnETHlargementPill.exe의 바로가기를 만든다음, 다음과 같이 설정합니다.
바로가기 대상에 --revA 0,1,2,3,4,5를 추가하였습니다. 이는 GDDR5X 메모리를 사용하는 1080류의 글카가 6way로 다 들어가있고 모두 알약을 안 먹는 경우에 작성하는 방식입니다. 예를들어 1080 1개만 사용하고 있고 그것이 알약을 제대로 안 먹으면 --revA 0 만 추가해주시면 되고, 6way 채굴기중 2번째랑 5번째 녀석이 말썽이면 --revA 1,4라고 추가하면 됩니다.
이는 현재 OhGodAnETHlargementPill.exe 가 가지고 있는 램타이밍을 조여주는 조정치보다 좀 "덜 조이는" 조정치를 가진 옛날 방법을 넣어주는 것입니다. 따라서 램타 수율이 떨어지는 1080도 비교적 완만한 램타 오버조건을 받아서 알약이 활성화되는 것입니다.
2-2. PhoenixMiner가 가지고 있는 straps 명령어를 사용하기 (알약 쓰면 안됩니다)
PhoenixMiner의 readme를 확인해보시면 다음과 같이 straps 명령어를 지원합니다.
보면 1000번대 글카만 가능하다고 되어있고, 1부터 6까지의 세팅 value가 있다고 합니다. -straps 0 인 경우 램타이밍을 프로그램에서 건들지 않습니다 (이 명령어를 작성 안하면 기본값이 0입니다). 숫자 1->2->3으로 갈수록 더 빡세게 그래픽카드를 갈구는 옵션입니다. 4->5->6의 경우에는 vmr값이 1/2/3보다 조금 덜 과격하게 적용되는 것인데 개인적인 추천은 2로 성공하긴 하는데 채굴 도중 꺼지거나 프리징 등이 발생하면 5로 변경 해주는 것을 추천드립니다.
개인적인 경험상 알약은 -straps 3 수준으로 그래픽카드 램타를 갈구는 것으로 보입니다. 따라서 알약이 안먹는 분들은 "알약을 쓰지 마시고" PhoenixMiner의 실행 batch 파일에 다음과 같이 -straps 명령어를 추가합니다. 저는 워낙에 1080이 뿔딱이라 1을 줬습니다. 1을 성공하시면 나중에 2도 해보시면 됩니다.
batch 파일을 저장하고 PhoenixMiner.exe 파일의 호환성 탭에서 반드시 "관리자 권한으로 실행"을 체크해 줍니다. 그래픽카드의 하드웨어 세팅을 프로그램 단계에서 명령어로 임의 조정하므로 관리자권한이 없으면 램타를 조여주지 못합니다.
만들어 두었던 batch파일을 실행해 봅니다. 1번은 1080, 2번은 1660s입니다. 극초기에는 아직 straps 옵션이 적용이 되지 않아 1080의 낮은 hashrate가 그대로인 모습입니다.
잠시후 PhoenixMiner가 1번 GPU (1080)에 -straps 1 옵션을 걸어줍니다.
시간이 지나자 점진적으로 상승해 약 9%의 향상이 있는 것을 확인 가능합니다.
명령어 대로라면 1660s에도 straps 옵션이 걸릴 수 있지만, PhoenixMiner에서는 10x0 계열 지원되는 그래픽카드만 이 명령어를 쓸 수 있게 해두었습니다 (제한을 강제로 풀어서 다른 그래픽카드에도 응용하는 명령어가 readme를 찾아보면 있습니다만 권장하지 않습니다) 따라서 1660s는 straps가 걸리지 않고 계속 채굴을 진행합니다.
조금 더 확실하게 최적화를 하고 싶으시면 -straps를 사용하시지 마시고 다음 명령어들을 이용할 수도 있습니다. -straps 1~6은 다음 -vmt -vmr 세팅들을 사용하기 쉽게 특정 수치점 몇개로 요약해놓은 것입니다.
3. 한계
2-2에서 성능 향상폭을 확인해보시면 알약 먹였다는 후기들보다는 향상폭이 떨어지는 것을 알 수 있습니다 (알약을 먹는 1080 기준 낮아도 28~29는 나옵니다). 아마 2-1을 적용해보셔도 비슷하게 알약 그냥 먹이는 것보다는 약하게 들어갑니다.
당연한 결과인 것이 기존 알약보다 램타를 덜 조이게 명령을 해놓아 알약만큼 효율적이지 못한 것입니다.
하지만 최적화 하시는 경우 알약만큼은 아니더라도 알약 안 먹는다고 깡으로 돌리는것보다는 만족스러운 효율 상승을 기대해보실 수 있으니 이 방법을 적용해보시는 것도 추천드립니다.