Post
Topic
Board Altcoin Discussion
Re: The big VTC Vertcoin settings thread
by
ejhuff
on 21/02/2014, 17:07:49 UTC
Any changes to 0.5.4?


--------------------------------------- EDIT notes --------------------
This post is becoming more about getting the Asus Radeon R9 290X running on Fedora 19 than just about vertminer-gpu 0.5.4.pre2.  It will also provide material for the vertcoin.org gpu-miner-build-howto.

I will be fixing some confusion between ADL-SDK and AMD-APP-SDK below, and adding more details about what it took to get an Asus Radeon R9 290X running on Fedora 19.  But I can't get it all done today
so I want to post the incomplete revisions to avoid losing them and to avoid leaving incorrect information online.  

ICD files:
The OpenCL™ ICD (Installable Client Driver) is a means of allowing multiple OpenCL™ implementations to co-exist and applications to select between them at runtime.  The files seem to give the names of the shared library files for the AMD-APP-SDK.  

The vertcoin.org gpu-miner-build-howto suggests editing these files to add full path to the library.  I don't think that is what the designers of ICD expected, but apparently it works.  AMD expects to use LD_LIBRARY_PATH to specify where to look for the named libraries...

-------------------------------------- end EDIT notes ---------------

I was just following the build instructions for linux, which specified downloading the latest git version. Then I tried to follow sample configurations from this thread, but the meaning of the --scrypt option has changed.

vertminer-gpu 0.5.4 adds support for ADL (AMD Display Library), version 6, among other things.

Code:
2014-02-12 20:54 Bufius             o [master] [origin/HEAD] [origin/master] fixed unexpected build issues
2014-02-12 20:22 Bufius             o fixed wrong variable type in ocl.c
2014-02-12 20:08 Bufius             o miner prepared for normal scrypt + nfactor scrypt
2014-02-08 22:10 Bufius             o remove unneeded files
2014-02-08 22:08 Bufius             o autogeneration
2014-02-08 21:35 Bufius             o and again the adl stuff...
2014-02-08 21:27 Bufius             o correct adl_functions.h
2014-02-08 21:24 Bufius             o Revert "include corrrect adl_functions.h"
2014-02-08 21:21 Bufius             o include corrrect adl_functions.h
2014-02-08 21:05 Bufius             o ADL6 support
2014-02-03 18:02 Bufius             o [origin/0.5.3] bump to 0.5.3

You could see all the gory details at the github site, if only you already knew how to use github...  (I just learned yesterday, and can't explain it).

I have an Asus R9 290X and I installed catalyst 14.1 beta for linux, (with some difficulty because the 14.1beta Fedora package is not available yet).

So I think I needed ADL6.  If so, I also needed vertminer-gpu 0.5.4.

(Someone please draw the attention of the maintainer of http://vertcoin.org/gpu-miner-build-howto.html to these comments about the problems with the AMD-APP-SDK installer).

I highly disrecommend the AMD installer for the AMD-APP-SDK.  It puts global definition of LD_LIBRARY_PATH into /etc/profile, which impacts load time of everything on the system forever more unless you erase it.   See http://www.cc.dtu.dk/?page_id=304, "LD_LIBRARY_PATH – or: How to get yourself into trouble!"

Also, if you did happen to have "export LD_LIBRARY_PATH and some other stuff on the same line" in /etc/profile, it erases it the other stuff without notice, replacing it with just export LD_LIBRARY_PATH.

The AMD installer also does nice things like executing (as root) rm -rf $dirname, when it is not immediately obvious that dirname cannot be /.  So I don't trust it.  Also it is written, for no good reason, in perl.  The person who wrote it is obviously not an experienced sysadmin.

To install AMD-APP-SDK 2.9, I just untarred it: mkdir AMD-APP-SDK; cd AMD-APP-SDK; tar zxvf AMD-APP-SDK-v2.9-lnx64.tgz.

Code:
-rw-rw-r-- cas/cas   150269240 2013-10-30 06:52 AMD-APP-SDK-v2.9-RC-lnx64.tgz
-rwxr-xr-x cas/cas       11466 2013-10-30 06:40 default-install_lnx_64.pl
-rwxr-xr-x cas/cas         226 2013-10-30 06:40 icd-registration.tgz
-rwxrwxrwx cas/cas         289 2013-10-30 06:40 Install-AMD-APP.sh
-rwxr-xr-x cas/cas        6678 2013-10-30 06:40 ReadMe.txt
Note the inappropriate permissions, and the user/group not being root:root.  I fixed them with chown root:root * and chmod go-w * and chmod a-x *.tgz *.txt
(Actually, I should have used the tar option to ignore the specified user/group, since this is always happening when root untars something.)

icd-registration.tgz untars to

Code:
drwxr-xr-x cas/cas           0 2013-06-10 01:33 etc/
drwxr-xr-x cas/cas           0 2013-06-10 01:33 etc/OpenCL/
drwxr-xr-x cas/cas           0 2013-06-10 01:34 etc/OpenCL/vendors/
-rwxr-xr-x cas/cas          15 2013-06-10 01:34 etc/OpenCL/vendors/amdocl64.icd
-rwxr-xr-x cas/cas          15 2013-06-10 01:33 etc/OpenCL/vendors/amdocl32.icd

I put those files into /etc, correcting the ownership and removing the execute permission from the .icd files.

Code:
$ find /etc/OpenCL -ls
1493085    0 drwxr-xr-x   1 root     root           14 Feb 18 22:43 /etc/OpenCL
1493086    0 drwxr-xr-x   1 root     root           48 Feb 19 08:58 /etc/OpenCL/vendors
1609357    4 -rw-r--r--   1 root     root           15 Jun 10  2013 /etc/OpenCL/vendors/amdocl64.icd
1613003    4 -rw-r--r--   1 root     root           15 Jun 10  2013 /etc/OpenCL/vendors/amdocl32.icd
$ head /etc/OpenCL/vendors/amdocl*
==> /etc/OpenCL/vendors/amdocl32.icd <==
libamdocl32.so
==> /etc/OpenCL/vendors/amdocl64.icd <==
libamdocl64.so

The I untarred AMD-APP-SDK-v2.9-RC-lnx64.tgz, which happens to produce a  single directory named AMD-APP-SDK-v2.9-RC-lnx64.  I corrected the ownership, removed group other write permissions, moved or removed any existing /opt/AMDAPP directory, and moved AMD-APP-SDK-v2.9-RC-lnx64 to /opt/AMDAPP.

Then, instead of using LD_LIBRARY_PATH forever more, I just told the build process where the libraries are going to be:

Code:
CFLAGS="-g -O2 -Wall" LDFLAGS="-L/opt/AMDAPP/lib/x86_64/" ./configure --prefix=$HOME


You can also avoid doing any of this as root if you take the hint from http://devgurus.amd.com/message/1299447 and use OPENCL_VENDOR_PATH to give the path to the data from icd-registration.tgz, and use the configure time LDFLAGS variable to give the path to where you put the contents of AMD-APP-SDK-v2.9-RC-lnx64.tgz.  (Just don't move it afterward or you need to rebuild or use LD_LIBRARY_PATH).

--
VTC:  VefY8KPvoN3xrdj9Gpr8Pzo6YgTRCsqkGt
BTC: 12XQ7bpdHamJV61KgQ8p5tjLSUFWv7ZCAx