[GCP] Run tensorflow with GPU on Google Cloud Platform

To create a VM instance, you have to register on the Google cloud platform, and once you registered, you will get a 300$ free trial. I won’t include the registration part here as it is very easy.

1 External IP addresses
Navigate to “VPC Network – External IP addresses” and apply for a new static IP and name it as you want
The result will look like this, in this case, i named it to taiwan as i choose from asia areas:

2 Firewall rules
Navigate to “VPC Network – Firewall rule” and add a firewall rule like this:

3 Apply an API to use GPUs
You have to choose a right area as some areas do not provide GPU usage and the price could be various. In this case, we choose “asia-east1-a” and decide to use its Tesla P100
Navigate to “IAM & admin – Quotas” and select the API you want to apply, you will receive an email from Google, then the follow the instructions to use the GPU you want (usually, just click the link provided in the email).

4 Create an instance
Navigate to “Compute Engine – VM instances” and create an vm instance.
In order to the use GPU we applied, you have to choose the same area.
Hit the “Customize” button and customize your machine type, then expand the GPU section to use a P100.
For the operating system, just choose Ubuntu 16, you can also use an SSD or expand the boot disk size to 20 GB if you like.
For the Firewall section, just tick both the HTTP and HTTPS traffic.
You may also have to expand the next section and configure your network interface to use static IP (optional).
Do not be afraid of the price as Google will only charge you from the 300$ when you are running the device and it is charged by minutes.

5 CUDA® Toolkit 8.0.
Once you have created the instance, click SSH button to open an SSH console and follow the following commands.

sudo apt-get update
sudo curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo dpkg -i ./cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-8-0 -y

6 Jupyter Notebook

sudo apt-get install ipython python3-pip
sudo pip3 install --upgrade pip
sudo pip3 install jupyter
# Start your jupyter notebook
sudo jupyter notebook --ip 0.0.0.0 --port 8888 --allow-root

Copy the link provided by jupyter and replace the IP “0.0.0.0” to your VM instance’s and copy it your browser, and you can now get access to your Jupyter Notebook.

7 cuDNN v6 for CUDA 8.0
We have to use the Jupyter Notebook to upload our installation package first. To do this, you can click this link and download one. Remeber, you have to create a NVIDIA account if do not have one. Then, agree terms and choose the following one to download, which is the “cuDNN v6.0 Library for Linux”.

# The file name could be different, be careful.
tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
# Edit .bashrc
nano ~/.bashrc
# Add the following two lines to the file
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
# Press Ctrl+O to save changes and Ctrl+X to exit the editor
# Update changes
source ~/.bashrc

8 Tensorflow

sudo pip3 install tensorflow-gpu

Now you can have fun with your VM instance.
To save your 300$, do not to forget to shutdown your VM instance after using it.

ASUS U303LN5200使用一周总结

入手ASUS U303LN5200(以下简称U303) 将近一周了,也是时候写一封总结报告了,供大家购机参考,全文字,配图大家可以参考网上的,都一样。

购买前导语
1. 为什么购买。
购买此机的原因主要考虑到轻便、性能以及预算三个方面。U303对我来说算是一款勉强及格超级本,1.4kg的重量、i5 5200的处理器以及入门级的GT840M独显,足以应付日常应用了,而且价格也比较划算,建议要购买的同学一定要购买新款处理器的,i5 5200U,新处理器的性能以及集成显卡都有提升的,不差这么点钱的。
2. U303的可扩展性以及必要的扩展。
U303可以扩展或者替换的部件:
 a. 硬盘接口:半高mSATA以及一个SATA接口。半高mSATA接口是空闲的,SATA位插着自带的500G的7mm垃圾硬盘。
    扩展必要:自带机械硬盘太吵、还慢,所以是一定要换的,而且必换SATA接口的,不要想着买个半高mSATA的SSD插着当系统。主要半高的mSATA SSD死贵、买不到好的牌子、性能还垃圾的一B,所以还是放弃吧。SATA接口的SSD我入的是MX200,M550也不错,不过容量上推荐250G以上,不然吃紧。至于剩下的半高mSATA接口,有兴趣的可以淘一块拆机或者二手的小容量SSD,插上用作下载盘,屌屌的,p2p?不怕。
 b. 无线网卡:自带是 Intel Dual Band Wireless-N 7265,双频带蓝牙。
    扩展必要:网传这块网卡ping延时高,打游戏容易掉线,我由于家里本身网络垃圾,也就没法测了,不过有钱的可以换个AC的玩。
 c. 内存:板载4GB DDR3 1600,有一个空留的插槽。
    扩展必要:4GB太小啦,一定要扩展,而且最好上8GB,至于有没有有必要上8GB,我是这么想的:一是毕竟只有一个插槽,以后再扩展比较麻烦;二是现在内存颗粒降价,内存都是白菜价,肯定买大的;三是大内存可以划出几GB用来模拟内存硬盘,把一些缓存文件都放到里面,降低SSD的读写次数。自入的是金士顿的8G 1600骇客神条。
3. U303存在的问题
 a. 网卡延时掉线问题:上面已提及,但真实性我没测过,各位自己斟酌。
 b. USB3.0影响2.4GHz无线网络问题:这个问题比较严重,问题表现为插上USB3.0设备后,2.4GHz无线网络出现不稳定甚至掉线的情况,这也算是intel的设计问题吧,还有主要U303左侧的USB3.0接口下方就是无线网卡,有木有?这绝壁是要坑爹的节奏啊。
    目前没有完美的解决办法,折中的办法有两个:一是使用USB3.0延长线,二是将USB3.0设备插到右侧的USB接口,影响会小些,但这样就只能使用一个USB3.0设备了。
 c. 屏幕分辨率问题:由于是1080p屏幕,默认是进行1.5倍放大的,会有很多显示问题,建议调整为100%或者125%即可。我已习惯100%!!!
    调整方法:桌面右键 – 个性化 – 显示
 d. 全金属外壳打字腕托割手:是的,U303平放在桌子上并不薄,整个C面是水平的,这样长时间坐着打字的话,手腕部分就显得不舒服,割手!!不信的话可以去实体店试试,话说这边框位置都能磨指甲了。
 e. 自带麦克风声音小:由于直接换了Win7,发现这个问题,不知道Win8是不是。
4. 续航与性能。
U303性能对于我来说算是够用了,纯电池续航轻办公一下午没多大问题。基本的游戏都能玩,像LOL和DOTA2之类的估计可以全分辨率高特效,至于GTA5,低特效1440×900分辨率勉强能玩吧。需要注意的是,这机器如果玩游戏,问题飙升的很厉害,能上70度,所以最好准备好散热底座!
5. 多少预算合适。
若是你要购买U303LN5200并要有舒适的体验,就得加内存和SSD,6000的预算就比较宽裕了,5500还是比较吃紧的。当然,直接购买裸机日后升级也是可行的。


OK,接下来讲一讲如何为U303 UEFI安装Windows 7(毕竟没触控win8实在是太蛋疼了,即使华硕也对触控板做了一定的手势优化,但实在是……)以及如何保护SSD,延长使用寿命。

一、系统安装部分:
1. 首先当然是先做好系统安装盘(不推荐GHOST),过程这里就不细说了,网上都有。需要注意的是,由于U303全是USB3.0接口,所以需要自己为安装盘添加USB3.0驱动,不然安装不了系统,可以去下载别人已经集成USB3.0的盘,或者自己先使用PE对SSD进行分区操作,系统盘建议60G,然后将解压好后USB3.0驱动文件拷贝到不用来安装系统的分区,方便之后加载驱动以及系统安装好后USB3.0驱动的安装。由于我另购了一块小容量的半高mSATA硬盘,之前就把驱动文件放进去了,所以没必要用PE啥的。
2. 完全关机开机按 delete 键进入BIOS/UEFI,关闭 secure boot,开启CSM,不然你会发现无法进入安装界面。
3. 成功进入安装界面后,如果你的盘是集成USB3.0驱动的,将会顺利进行系统安装,若否,则需要手动加载刚才的准备好的USB3.0驱动,加载成功的话你会在驱动选择界面看到你的U盘。
4. 接下来的分区,不需要太复杂,首先创建一个60g或者其他容量的分区,系统会自动船舰EFI分区的,如果你有完美癖,可以接着删除分区再手动调整容量,250G以上的SSD还是建议分区,系统60G比较合适,不然更新下就不够用了。关于4K对齐,系统自动分区都是GPT+4K对齐的,不用在意。

二、驱动安装部分:
由于官网并没有U303的Win7驱动(下载要见UX303LN5200),这里建议大家去下载个360驱动管理的软件,可以在线安装驱动,之后我也会把我备份好的驱动上传给大家,方便大家直接还原驱动即可。当然还有几个必要的手动安装的软件也会一并上传,比如快捷键控制、触控板手势以及快速充电等。安装好驱动后就可以去BIOS关闭CSM了,对了,若是内存充裕的话还可以到BIOS去把集成显卡的显存调调大。

三、系统的激活:建议大家不要用一些所谓的激活软件来激活Windows,还是老老实实激活正版使用,可以自己网上搜索密钥,也可以问万能的淘宝。

四、万恶的打补丁过程,纯净版的Windows 7 SP1 安装好后,将近300个系统补丁等着你,慢慢的爽吧。

五、系统清理以及SSD的优化
1. 安装好补丁的系统是相当的大,所以建议使用DISM++来清理垃圾文件,还可以配合其它一些优化软件比如魔方啥的适当优化一下(优化好了就可以把它干掉了)。
2. 需要禁用的服务:Windows Search、Super Fetch。
3. 关闭索引:右键磁盘分区 – 属性 – 去掉 除了文件属性外,还允许索引此驱动器上文件的内容 的勾 – 确定 即可。
4. 使用Primo Ramdisk 创建内存硬盘,并设置临时文件位置:可以下载Primo Ramdisk Ultimate Edition 5.5的完美破解版,创建好后(自用12GB内存,划了2GB)将系统的临时文件全转移到RAMDISK,包括用户和系统的TEMP文件夹、IE临时文件夹、Chrome的缓存文件等等。
5. 关闭虚拟内存以及休眠功能:方法百度,内存如果上到8GB可以直接关了虚拟内存。
6. 设置常用软件的下载文件夹:可以设置到mSATA硬盘上,或者干脆到RAMDISK。
7. 至于其他的SSD加速功能,比如用内存充当SSD缓存之类的,个人感觉没什么必要了,有兴趣的同学可以自己去玩玩。


好了,这就是我想要说的内容了,如有遗漏,大家可以下边留言补充,一些要用到的软件去驱动我慢慢传,等下可以到留言中查看。