{"id":21572083,"url":"https://github.com/zingale/pgi_on_fedora","last_synced_at":"2026-02-03T21:32:50.032Z","repository":{"id":83577059,"uuid":"69592708","full_name":"zingale/pgi_on_fedora","owner":"zingale","description":"How to install the PGI OpenACC Toolkit on Fedora 24+","archived":false,"fork":false,"pushed_at":"2016-09-29T17:51:52.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-18T11:43:24.507Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zingale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-29T17:49:25.000Z","updated_at":"2016-09-29T17:49:25.000Z","dependencies_parsed_at":"2023-07-07T20:32:36.179Z","dependency_job_id":null,"html_url":"https://github.com/zingale/pgi_on_fedora","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zingale/pgi_on_fedora","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zingale%2Fpgi_on_fedora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zingale%2Fpgi_on_fedora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zingale%2Fpgi_on_fedora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zingale%2Fpgi_on_fedora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zingale","download_url":"https://codeload.github.com/zingale/pgi_on_fedora/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zingale%2Fpgi_on_fedora/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29058348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T20:13:53.544Z","status":"ssl_error","status_checked_at":"2026-02-03T20:13:40.507Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T11:18:08.676Z","updated_at":"2026-02-03T21:32:50.015Z","avatar_url":"https://github.com/zingale.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"How to install the PGI OpenACC Toolkit on Fedora 24\n\nDue to compiler incompatibilities with GCC 6.1, this is a little\ninvolved.\n\nThe official installation instructions are here:\nhttp://www.pgroup.com/doc/pgiinstall.pdf\n\n# Install the graphics drivers for your nvidia card\n\nGet this from RPM Fusion.  You can do:\n\n```\nyum install akmod-nvidia \"kernel-devel-uname-r == $(uname -r)\"\n```\n\nReboot so they take effect\n\n\n# Install the PGI stuff\n\nUntar the PGI compilers and run their install:\n\n```\n./install\n```\n\n  * EULA is displayed\n\n    Do you accept these terms? (accept,decline) accept\n\n  * Installation directory? [/opt/pgi]\n\n    accept default\n\n  * Install CUDA Toolkit Components? (y/n) y\n\n  * EULA is displayed\n\n    Do you accept these terms? (accept,decline) accept\n\n  * Install AMD software components? (y/n) n\n\n  * Install OpenACC Unified Memory Evaluation package? (y/n) n\n\n  * Do you wish to update/create links in the 2015 directory? (y/n) y\n\n  * Do you wish to install MPICH? (y/n) n\n\n  * Do you wish to generate license keys? (y/n) n\n\n\n# Setup your environment\n\n```\nexport PGI=/opt/pgi;\nexport PATH=/opt/pgi/linux86-64/16.9/bin:$PATH;\nexport MANPATH=$MANPATH:/opt/pgi/linux86-64/16.9/man;\nexport LM_LICENSE_FILE=$LM_LICENSE_FILE:/opt/pgi/license.dat;\n```\n\n\n# License\n\nGenerate a license at http://pgroup.com using your account\n\nPut the license into `/opt/pgi/license.dat`\n\n\n# Start the license manager\n\n```\ncd $PGI/linux86-64/15.7/bin/\n./lmgrd.rc start\n```\n\nMaybe also do:\n\n```\ncp lmgrd.rc /etc/init.d/lmgrd\nln -s /etc/init.d/lmgrd /etc/rc.d/rc5.d/S90lmgrd\n```\n\n\n# Install CUDA 7.5.x from nvidia\n\nGet their RPM:\n\nhttps://developer.nvidia.com/cuda-downloads\n\nhttps://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-fedora23-8-0-local-8.0.44-1.x86_64-rpm\n\n\n```\ndnf install cuda-repo*\ndnf clean all\ndnf install cuda\n```\n\nThis will setup a yum repo and update automatically with your system\n\n\n# Test it out\n\n```\npgaccelinfo\n```\n\nThis should tell you about the CUDA capability\n\n\n# Install older GCC\n\nWe need to use an older GCC to get the C++ frontend to work.\nProblem is GCC 6.1 cannot compile 5.2, so we need to build\n5.4 as an intermediate.\n\n\n  * wget http://gcc.parentingamerica.com/releases/gcc-5.4.0/gcc-5.4.0.tar.gz\n\n  * `tar xvzf gcc-5.4.0.tar.gz`\n\n  * `cd gcc-5.4.0`\n\n    `./contrib/download_prerequisites`\n\n  * in top dir, mkdir `objdir/`\n\n  * `cd objdir/`\n\n  *  `../gcc-5.4.0/configure --prefix=/opt/gcc/gcc-5.4/ --enable-languages=c,c++,fortran --disable-multilib`\n\n  * `make -j 8`\n\n  * as root, `mkdir /opt/gcc/gcc-5.4`\n\n  * `make install`\n\n\n# Create a module for older GCC\n\nCreate a directory `/etc/modulefiles/gcc`\n\nCreate an entry `5.4` in there with the following:\n\n```\n#%Module1.0#####################################################################\n##\n## modules gcc/5.4\n##\n## modulefiles/gcc/5.4\n##\nproc ModulesHelp { } {\n        global version modroot\n\n        puts stderr \"gcc/5.4 - sets the Environment for GCC 5.4 in my home directory\"\n}\n\nmodule-whatis   \"Sets the environment for using gcc-5.4.0 compilers (C, C++, Fortran)\"\n\n# for Tcl script use only\nset     topdir          /opt/gcc/gcc-5.4\nset     version         5.4\n#set     sys             linux86\n\nsetenv          CC              $topdir/bin/gcc\nsetenv          GCC             $topdir/bin/gcc\nsetenv          CXX             $topdir/bin/g++\nsetenv          FC              $topdir/bin/gfortran\nsetenv          F77             $topdir/bin/gfortran\nsetenv          F90             $topdir/bin/gfortran\nprepend-path    PATH            $topdir/include\nprepend-path    PATH            $topdir/bin\nprepend-path    MANPATH         $topdir/man\nprepend-path    LD_LIBRARY_PATH $topdir/lib\n```\n\nThis allows for\n\n```\nmodule load gcc/5.4\n```\n\n# Install GCC 5.2\n\nDo the same procedure to install GCC 5.2, compiling with GCC 5.4\n\n\n# Tell PGI to use GCC 5.2\n\nTo get pgi to recognize this compiler, I need to do:\n\n```\ncd /opt/pgi/linux86-64/16.5/bin\n\nmakelocalrc `pwd` -gcc /opt/gcc/gcc-5.2/bin/gcc -gpp /opt/gcc/gcc-5.2/bin/g++ -g77 /opt/gcc/gcc-5.2/bin/gfortran -x -net\n```\n\n^ that creates a `localrc.machinename`\n\n```\nmv localrc localrc.old\n```\n\nMake libraries available\n\n```\ncd /opt/gcc/gcc-5.2/lib/gcc/x86_64-unknown-linux-gnu/5.2.0\n\nln -s ../../../../lib64/libgcc_s.so.1 ./libgcc_s.so\nln -s ../../../../lib64/libgfortran.so.3.0.0 ./libgfortran.so\nln -s ../../../../lib64/libgomp.so.1.0.0 ./libgomp.so\nln -s ../../../../lib64/libstdc++.so.6.0.21 ./libstdc++.so\n```\n\n\n# Install MPI and make a module\n\nThe Fedora MPICH is already managed via modules.  Here we create one\nfor MPICH with PGI\n\nDownload mpich 3.x\n\n```\nCC=pgcc CXX=pgCC FC=pgf95 F77=pgf77 ./configure --prefix=/opt/mpich-pgi\nmake\nmake install\n```\n\nThe last command is done as root\n\nCreate `/etc/modulefiles/mpi/mpich-pgi` with\n\n```\n#%Module 1.0\n#\n#  MPICH module for use with 'environment-modules' package:\n#\n\n# Only allow one mpi module to be loaded at a time\nconflict mpi\n\n# Define prefix so PATH and MANPATH can be updated.\nsetenv        MPI_BIN       /opt/mpich-pgi/bin\nsetenv        MPI_SYSCONFIG /etc\nsetenv        MPI_FORTRAN_MOD_DIR /opt/mpich-pgi/include\nsetenv        MPI_INCLUDE   /opt/mpich-pgi/include\nsetenv        MPI_LIB       /opt/mpich-pgi/lib\nsetenv        MPI_MAN       /opt/mpich-pgi/share/man/mpich\nsetenv        MPI_COMPILER  mpich-pgi\nsetenv        MPI_SUFFIX    _mpich\nsetenv        MPI_HOME      /opt/mpich-pgi\nprepend-path  PATH          /opt/mpich-pgi/bin\nprepend-path  LD_LIBRARY_PATH /opt/mpich-pgi/lib\nprepend-path  MANPATH       /opt/mpich-pgi/share/man/mpich\nprepend-path  PKG_CONFIG_PATH /opt/mpich-pgi/lib/pkgconfig\n```\n\nTo activate MPI for PGI, do:\n```\nmodule swap mpi/mpich-x86_64 mpi/mpich-pgi\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzingale%2Fpgi_on_fedora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzingale%2Fpgi_on_fedora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzingale%2Fpgi_on_fedora/lists"}