(already answered on
http://burstforum.com/index.php?threads/gpu-plot-generator.45/page-2 )
Please use the new forum for support .. it is much less cluttered and a lot easier to navigate. I like it - thank you very much for initiating
http://burstforum.com !!
--
hm… I have plotted with the 3 modes available;
(java) ./run_generate.sh 99999999999999999999 19660849152 49152 3072 4
(linux-binary) ./plot 99999999999999999999 19660849152 49152 3072 4
(gpu-plotter) ./gpuplot generate 0 2 plots/ 99999999999999999999 19660849152 49152 3072 128 8160
(gpu-plotter) ./gpuplot generate 0 2 plots/ 99999999999999999999 19660849152 49152 3072 128 3072 (to check wether its this parameter)
and the gpu-generated file is exactly the same size, but differs on all the spots I've checked, e.g.
for i in 1024 2048 4096 892179 ; do cmp -i $i javafile gpufile ; done
whereas the linuxfile and javafile are identical.
I'm using 3x R9-280x on CentOS 6.5;
2.6.32-431.29.2.el6.centos.plus.x86_64
amd-catalyst-14-4-rev2-linux-x86-x86-64-may6
AMD-APP-SDK-linux-v2.9-1.599.381-GA-x64
compiling had a steep learning curve but it in the end it was just the LD_FLAGS that needed fiddling.
gpu-plotter starts up and runs normally without any hitch.
So.. can I mine with these files ? Or will I be IP-blocked..
But a BIG thank you for the effort !!
If this is working properly, I will be able to shut down the FIVE i7 6cores that I am using now and will get the equivalent of ~12 such machines with the power draw of just 3 280x GPUs.. (3x 300W = 900 W versus (theoretical, I don't have so many "spare idles") 12x 230W = 2760W).
oh, and just in case somebody wants to build under CentOS or Redhat linux, this would be the makefile you need:
--
unexport LC_ALL
LC_COLLATE=C
LC_NUMERIC=C
export LC_COLLATE LC_NUMERIC
#
#
OPENCL_INCLUDE = /opt/AMDAPPSDK-2.9-1/include
OPENCL_LIB = /opt/AMDAPPSDK-2.9-1/lib/x86_64
#CC = /c/_data/cryo/_apps/mingw/bin/g++
CC = g++
CC_FLAGS = -ansi -pedantic -W -Wall -std=c++0x -O3 -I$(OPENCL_INCLUDE)
#LD = /c/_data/cryo/_apps/mingw/bin/g++
LD = g++
#LD_FLAGS = -fPIC -L$(OPENCL_LIB) -static-libgcc -static-libstdc++ -lOpenCL
LD_FLAGS = -fPIC -L$(OPENCL_LIB) -static-libgcc -lOpenCL
ECHO = echo
MKDIR = mkdir
CP = cp
RM = rm
SRC = $(wildcard *.cpp)
OBJ = $(SRC:.cpp=.o)
EXEC = gpuplot
all: $(EXEC)
dist: all
@$(ECHO) Generating distribution
@$(MKDIR) -p bin/kernel
@$(CP) kernel/util.cl bin/kernel
@$(CP) kernel/shabal.cl bin/kernel
@$(CP) kernel/nonce.cl bin/kernel
@$(CP) README bin/README
rebuild: distclean all
$(EXEC): $(OBJ)
@$(ECHO) Linking [$@]
@$(LD) -o $@ $^ $(LD_FLAGS)
%.o: %.cpp
@$(ECHO) Compiling [$<]
@$(CC) -o $@ -c $< $(CC_FLAGS)
clean:
@$(ECHO) Cleaning project
@$(RM) -f *.o
distclean: clean
@$(ECHO) Dist cleaning project
@$(RM) -f $(EXEC)
@$(RM) -Rf bin/kernel
@$(RM) -f bin/README
--
and you need to have a "bin" directory to receive the "kernel" dir, and you have to have the gpuplot binary along with this "kernel" folder to use it. The binary must be set-uid root;
mkdir bin
make dist
chown root gpuplot
chmod 4555 gpuplot
cp -r gpuplot kernel
HOORAY !