Loading configure.ac +1 −26 Original line number Diff line number Diff line Loading @@ -263,31 +263,6 @@ fi # do not warn about deprecated GPU architectures NVCCFLAGS+=" -Wno-deprecated-gpu-targets" # ------------------------------------------------------------------------------ # Setup nvcc ccbin # ------------------------------------------------------------------------------ AC_ARG_WITH([nvcc-ccbin], [AS_HELP_STRING([--with-nvcc-ccbin=PATH],[path or executable name of host compiler for nvcc @<:@default=auto@:>@])], [], [with_nvcc_ccbin=auto]) if test "x$with_nvcc_ccbin" != "xno" then if test "x$with_nvcc_ccbin" != "xauto" then NVCCFLAGS+=" -ccbin $with_nvcc_ccbin" else case $host_os in *darwin*) NVCCFLAGS+=" -ccbin /usr/bin/clang" ;; esac fi fi # ------------------------------------------------------------------------------ # Setup SSE # ------------------------------------------------------------------------------ Loading Loading @@ -358,7 +333,7 @@ case $host_os in then NVCCFLAGS+=" -m64" AM_CXXFLAGS="$AM_CXXFLAGS -m64" NVCCFLAGS+=" -D_POSIX_C_SOURCE" NVCCFLAGS+=" -D_POSIX_C_SOURCE -ccbin /usr/bin/clang" CUDA_LIBS+=" -F/Library/Frameworks -framework CUDA" fi Loading examples/synthetictest/synthetictest.cpp +0 −20 Original line number Diff line number Diff line Loading @@ -1247,26 +1247,6 @@ void runBeagle(int resource, sumLogL += siteLogLs[i] * patternWeights[i]; } fprintf(stdout, "\nsumLogL = %.5f\n", sumLogL); if (calcderivs) { double* siteSecondDerivs = (double*) malloc(sizeof(double) * nsites); beagleGetSiteDerivatives(instance, siteLogLs, siteSecondDerivs); sumLogL = 0.0; fprintf(stdout, "site first derivs = "); for (int i=0; i<nsites; i++) { fprintf(stdout, "%.5f \t", siteLogLs[i]); sumLogL += siteLogLs[i] * patternWeights[i]; } fprintf(stdout, "\nsumFirstDerivs = %.5f\n", sumLogL); sumLogL = 0.0; fprintf(stdout, "site second derivs = "); for (int i=0; i<nsites; i++) { fprintf(stdout, "%.5f \t", siteSecondDerivs[i]); sumLogL += siteSecondDerivs[i] * patternWeights[i]; } fprintf(stdout, "\nsumSecondDerivs = %.5f\n", sumLogL); free(siteSecondDerivs); } free(siteLogLs); } Loading libhmsbeagle/CPU/BeagleCPUImpl.hpp +1 −2 Original line number Diff line number Diff line Loading @@ -2551,10 +2551,9 @@ void BeagleCPUImpl<BEAGLE_CPU_GENERIC>::calcEdgeLogLikelihoodsSecondDerivByParti w += kTransPaddedStateCount; } v += kPartialsPaddedStateCount; } v += ((kPatternCount - endPattern) + startPattern) * kPartialsPaddedStateCount; } } } else { // Integrate against a partial at the child Loading libhmsbeagle/GPU/GPUInterfaceCUDA.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -203,7 +203,7 @@ int GPUInterface::Initialize() { SAFE_CUDA(cuDeviceGet(&tmpCudaDevice, i)); SAFE_CUDA(cuDeviceGetAttribute(&capabilityMajor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, tmpCudaDevice)); SAFE_CUDA(cuDeviceGetAttribute(&capabilityMinor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, tmpCudaDevice)); if (capabilityMajor >= 3 && capabilityMinor != 9999) { if ((capabilityMajor > 1 && capabilityMinor != 9999) || (capabilityMajor == 1 && capabilityMinor > 0)) { resourceMap->insert(std::make_pair(currentDevice++, i)); } } Loading libhmsbeagle/GPU/kernels/Makefile.am +10 −10 Original line number Diff line number Diff line Loading @@ -19,17 +19,17 @@ BeagleCUDA_kernels.h: Makefile kernels4.cu kernelsX.cu kernelsAll.cu ../GPUImplD # # Compile 4-state model $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=4 \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ echo "#define KERNELS_STRING_SP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) echo "#define KERNELS_STRING_SP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h echo "\"" >> BeagleCUDA_kernels.h # # HERE IS THE LOOP FOR GENERIC KERNELS # for s in $(STATE_COUNT_LIST); do \ echo "Making state count = $$s" ; \ $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ ($(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS)) || exit; \ echo "#define KERNELS_STRING_SP_$$s \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ echo "\"" >> BeagleCUDA_kernels.h; \ Loading @@ -40,17 +40,17 @@ BeagleCUDA_kernels.h: Makefile kernels4.cu kernelsX.cu kernelsAll.cu ../GPUImplD # # Compile 4-state model $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=4 -DDOUBLE_PRECISION \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ echo "#define KERNELS_STRING_DP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) echo "#define KERNELS_STRING_DP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h echo "\"" >> BeagleCUDA_kernels.h # # HERE IS THE LOOP FOR GENERIC KERNELS # for s in $(STATE_COUNT_LIST); do \ echo "Making state count = $$s" ; \ $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s -DDOUBLE_PRECISION \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ ($(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s -DDOUBLE_PRECISION \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS)) || exit; \ echo "#define KERNELS_STRING_DP_$$s \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ echo "\"" >> BeagleCUDA_kernels.h; \ Loading Loading
configure.ac +1 −26 Original line number Diff line number Diff line Loading @@ -263,31 +263,6 @@ fi # do not warn about deprecated GPU architectures NVCCFLAGS+=" -Wno-deprecated-gpu-targets" # ------------------------------------------------------------------------------ # Setup nvcc ccbin # ------------------------------------------------------------------------------ AC_ARG_WITH([nvcc-ccbin], [AS_HELP_STRING([--with-nvcc-ccbin=PATH],[path or executable name of host compiler for nvcc @<:@default=auto@:>@])], [], [with_nvcc_ccbin=auto]) if test "x$with_nvcc_ccbin" != "xno" then if test "x$with_nvcc_ccbin" != "xauto" then NVCCFLAGS+=" -ccbin $with_nvcc_ccbin" else case $host_os in *darwin*) NVCCFLAGS+=" -ccbin /usr/bin/clang" ;; esac fi fi # ------------------------------------------------------------------------------ # Setup SSE # ------------------------------------------------------------------------------ Loading Loading @@ -358,7 +333,7 @@ case $host_os in then NVCCFLAGS+=" -m64" AM_CXXFLAGS="$AM_CXXFLAGS -m64" NVCCFLAGS+=" -D_POSIX_C_SOURCE" NVCCFLAGS+=" -D_POSIX_C_SOURCE -ccbin /usr/bin/clang" CUDA_LIBS+=" -F/Library/Frameworks -framework CUDA" fi Loading
examples/synthetictest/synthetictest.cpp +0 −20 Original line number Diff line number Diff line Loading @@ -1247,26 +1247,6 @@ void runBeagle(int resource, sumLogL += siteLogLs[i] * patternWeights[i]; } fprintf(stdout, "\nsumLogL = %.5f\n", sumLogL); if (calcderivs) { double* siteSecondDerivs = (double*) malloc(sizeof(double) * nsites); beagleGetSiteDerivatives(instance, siteLogLs, siteSecondDerivs); sumLogL = 0.0; fprintf(stdout, "site first derivs = "); for (int i=0; i<nsites; i++) { fprintf(stdout, "%.5f \t", siteLogLs[i]); sumLogL += siteLogLs[i] * patternWeights[i]; } fprintf(stdout, "\nsumFirstDerivs = %.5f\n", sumLogL); sumLogL = 0.0; fprintf(stdout, "site second derivs = "); for (int i=0; i<nsites; i++) { fprintf(stdout, "%.5f \t", siteSecondDerivs[i]); sumLogL += siteSecondDerivs[i] * patternWeights[i]; } fprintf(stdout, "\nsumSecondDerivs = %.5f\n", sumLogL); free(siteSecondDerivs); } free(siteLogLs); } Loading
libhmsbeagle/CPU/BeagleCPUImpl.hpp +1 −2 Original line number Diff line number Diff line Loading @@ -2551,10 +2551,9 @@ void BeagleCPUImpl<BEAGLE_CPU_GENERIC>::calcEdgeLogLikelihoodsSecondDerivByParti w += kTransPaddedStateCount; } v += kPartialsPaddedStateCount; } v += ((kPatternCount - endPattern) + startPattern) * kPartialsPaddedStateCount; } } } else { // Integrate against a partial at the child Loading
libhmsbeagle/GPU/GPUInterfaceCUDA.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -203,7 +203,7 @@ int GPUInterface::Initialize() { SAFE_CUDA(cuDeviceGet(&tmpCudaDevice, i)); SAFE_CUDA(cuDeviceGetAttribute(&capabilityMajor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, tmpCudaDevice)); SAFE_CUDA(cuDeviceGetAttribute(&capabilityMinor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, tmpCudaDevice)); if (capabilityMajor >= 3 && capabilityMinor != 9999) { if ((capabilityMajor > 1 && capabilityMinor != 9999) || (capabilityMajor == 1 && capabilityMinor > 0)) { resourceMap->insert(std::make_pair(currentDevice++, i)); } } Loading
libhmsbeagle/GPU/kernels/Makefile.am +10 −10 Original line number Diff line number Diff line Loading @@ -19,17 +19,17 @@ BeagleCUDA_kernels.h: Makefile kernels4.cu kernelsX.cu kernelsAll.cu ../GPUImplD # # Compile 4-state model $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=4 \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ echo "#define KERNELS_STRING_SP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) echo "#define KERNELS_STRING_SP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h echo "\"" >> BeagleCUDA_kernels.h # # HERE IS THE LOOP FOR GENERIC KERNELS # for s in $(STATE_COUNT_LIST); do \ echo "Making state count = $$s" ; \ $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ ($(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS)) || exit; \ echo "#define KERNELS_STRING_SP_$$s \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ echo "\"" >> BeagleCUDA_kernels.h; \ Loading @@ -40,17 +40,17 @@ BeagleCUDA_kernels.h: Makefile kernels4.cu kernelsX.cu kernelsAll.cu ../GPUImplD # # Compile 4-state model $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=4 -DDOUBLE_PRECISION \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ echo "#define KERNELS_STRING_DP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ $(srcdir)/kernels4.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) echo "#define KERNELS_STRING_DP_4 \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h echo "\"" >> BeagleCUDA_kernels.h # # HERE IS THE LOOP FOR GENERIC KERNELS # for s in $(STATE_COUNT_LIST); do \ echo "Making state count = $$s" ; \ $(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s -DDOUBLE_PRECISION \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS) || { \rm BeagleCUDA_kernels.h; exit; }; \ ($(NVCC) -o BeagleCUDA_kernels.ptx --default-stream per-thread -ptx -DCUDA -DSTATE_COUNT=$$s -DDOUBLE_PRECISION \ $(srcdir)/kernelsX.cu $(NVCCFLAGS) -DHAVE_CONFIG_H $(INCLUDE_DIRS)) || exit; \ echo "#define KERNELS_STRING_DP_$$s \"" | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ cat BeagleCUDA_kernels.ptx | sed 's/\"/\\"/g' | sed 's/$$/\\n\\/' >> BeagleCUDA_kernels.h; \ echo "\"" >> BeagleCUDA_kernels.h; \ Loading