2014-01-25 3 views
3

내부 메모리가 32KB 밖에되지 않는 프로세서의 Litecoin Miner를 개발 중입니다. 그래서 나는 SCrypt 알고리즘을보고 Litecoin에 대해 N = 1024를 사용하여 2^10 * 1 * 128 = 128KB 메모리에 aproximate를 제공합니다.SCrypt 조회 갭 부정적인 효과

그래서 Lookup Gap 매개 변수가있는 GPU 알고리즘을 조사하고있었습니다. 독서를 위해 저는 CudaMiner의 케플러 코드를 사용하고 있습니다 : https://github.com/cbuchner1/CudaMiner/blob/master/kepler_kernel.cu (Line 535)

그래서 나는 룩업 격차가 CPU와 메모리 사이의 장단점이라는 것을 알고 있습니다. CPU 사용이 많아지고 메모리가 낮아집니다. 내가 이해하지 못한 것은 그것이 정확히 어떻게 작동하는지입니다. 코드에서

내가 가진 그것 (그 2 경우는 0246810 될 것입니다) 스크래치 패드마다 LOOKUP_GAP 바이트를 보이게하지만, 어디됩니다
int pos = c_N_1/LOOKUP_GAP, loop = 1 + (c_N_1-pos*LOOKUP_GAP); 

더 많은 CPU 알고리즘 사용?

내 구현이 고도로 최적화되지는 않지만 과 같은 것이므로을 실행하십시오.

또한 보간 (https://github.com/kramble/FPGA-Litecoin-Miner)을 사용하는 FPGA 구현을 보았는데 이것이 더 이상합니다. 스크래치 패드의 값을 보간하는 방법을 모르겠습니다.

감사합니다.

답변

2

미리 계산 된 항목을 누르지 않으면 CPU 사용량이 증가합니다. LOOKUP 2를 사용하면 0-1023을 계산하지만 0, 2, 4 등만 저장합니다. 스크래치 패드 항목 3에 대한 데이터가 필요한 경우 2에서 나온 데이터를 사용하여 즉시 계산해야합니다. 그것들을 모두 영구히 저장하는 것보다 추가 계산입니다. 조회 간격이 늘어남에 따라 플라이 계산의 양이 늘어납니다.

+0

아, 그 말이 맞습니다! 나는 지금 나는 이해한다고 생각한다. 감사! :디 –