#!/bin/bash 
#
# /etc/init.d/cuda
#
# Initialize Nvidia CUDA devices at boot time
#
# Enable with: 
#
# update-rc.d cuda defaults

set -e

case "$1" in
    stop)
        # cuda isn't a daemon
        ;;
    start|force-reload|restart|reload)
	echo -n "Setting up Nvidia CUDA devices:"

	echo -n " nvidia"
	/sbin/modprobe nvidia

        if [ "$?" -eq 0 ]; then
        	# Count the number of NVIDIA controllers found.
        	N3D=`/usr/bin/lspci | grep -i NVIDIA | grep "3D controller" | wc -l`
        	NVGA=`/usr/bin/lspci | grep -i NVIDIA | grep "VGA compatible controller" | wc -l`
        
        	N=`/usr/bin/expr $N3D + $NVGA - 1` || true
        	for i in `/usr/bin/seq 0 $N`; do
        		if [ ! -e /dev/nvidia$i ]; then
        			echo -n " /dev/nvidia$i"
        			mknod -m 666 /dev/nvidia$i c 195 $i;
        		fi
        	done
        
        	if [ ! -e /dev/nvidiactl ]; then
        		echo -n " /dev/nvidiactl"
        		mknod -m 666 /dev/nvidiactl c 195 255
        	fi
        fi
	echo .
        exit 0
        ;;
    *)
        echo 'Usage: /etc/init.d/cuda {start|reload|restart|force-reload|stop}'
        exit 1
        ;;
esac

