Esempio n. 1
0
        public PTXBackend(Context context, PTXArchitecture gpuArch, TargetPlatform platform, string libDeviceDir)
            : base(context, platform, GetLLVMTriple(platform), gpuArch.ToString().ToLower())
        {
            // Determine the correct lib-device version.
            CudaException.ThrowIfFailed(
                CudaAPI.Current.GetDriverVersion(out int driverVersion));
            var pattern = ResolveLibDevicePattern(gpuArch, driverVersion);
            var files   = Directory.GetFiles(libDeviceDir, pattern);

            if (files.Length < 1)
            {
                throw new ArgumentException(ErrorMessages.LibDeviceNotFound);
            }
            LibDevicePath = files[0];
        }