Started Labbook 2017.
October 15, 2016
- There was not enough space to install the whole cuda-package.
- The compiler works fine: nvcc -V gives release V8.0.44.
- The example program tmp\CUDA\demo_suite\extras\demo_suite\deviceQuery.exe indicates that the driver is insufficient for the CUDA runtime version. Installing the missing drivers fails because the installation package is missing files.
- Unpacked the software again in some tempary folder. Installed only drivers, now deviceQuery.exe works (96 CUDA cores at 1.20 GHz).
- Now I only have to try to install nvcc again.
October 13, 2016
- Looked further to Module2 of the Heterogenous Parellel Programming course. I have the assignments on stick, but the assignment points to a project on bitbucket where I haven't access to. Luckely there is a page from the students of the course.
- Followed the Usage steps:
- Download and installed the NVIDIA CUDA Toolkit (version 8.0)
- Unfortunatelly, not enough space on my Windows laptop.
- Switched to my Linux laptop. Downloaded runfile (1.4 Gb).
- Executed sudo sh cuda_8.0.44_linux.run.
- The package is installed in /usr/local/cuda-8.0
- Installed the samples in ~/packages
- Installation fails because X-server is still running. Calling sudo service lightdm stop gave reboot.
- Read Linux Installation Guide, but it seems that my Linux laptop only has Intel 3rd gen Graphics Controller (no nvidia).
- Anyway, installation is only possible after rebooting in text-mode.
- Using Avoiding diagonal misses give 443 misses for 32x32 (grade 6.5)
- The best solution has 287 misses
- ZigZag gives 347 misses
- non-square gives 367 misses
- The worst solution has 1183 misses
- Avoiding diagonals misses doesn't work for 61x67 (grade 0.0)
- The best solution has 1913 misses
- non-square gives 2061 misses
- The worst solution has 4709 misses
- Using smaller blocks give 2425 misses for 61x67 (grade 5.8)
- So, the difference between small blocks and non-square blocks is resp. 80 (32x32) and 360 (61x67), which feels as the difference between a grade 6.0 and 8.0. That would mean:
It is a bit unfair to raise the maximum, but raising the minimum with 20% should give everybody a higher score:
- 32x32: 8 points if m < 320, 0 points if m > 720 (480-2*80; 480+3*80)
- 61x67: 10 points if m < 1680, 0 points if m > 3480 (2400-2*360; 2400+3*360)
- 64x64: 8 points if m < 1600, 0 points if m > 2600 (2000-2*200; 2000+3*200)
- 32x32: 8 points if m < 300, 0 points if m > 720 (468-2*84; 468+3*84)
- 64x64: 8 points if m < 1300, 0 points if m > 2400 (1740-2*220; 1740+3*220)
- 61x67: 10 points if m < 2000, 0 points if m > 3600 (2640-2*320; 2640+3*320)
October 12, 2016
- Looked at the requirement of 64x64 of the cachelab. The grade is scales linearly between 2000 and 1300 misses.
- There are different reference solutions:
- The best solution has 1107 misses
- Avoiding post diagonal misses gives 1795 misses
- Using nonsquare blocks gives 1843 misses
- Using smaller blocks gives 1859 misses (should give 7.0, but gives 2.5)
- Using smaller blocks with zig-zag gives 1923 misses
- Using variable blocks gives 2899 misses
- variable blocking + zigzag gives 2915 misses
- Using zig-zag has 4529 misses
- Trivial blocking has still 4723 misses
- The get-started solution has 4723 misses
- Using smaller blocks give 487 misses for 32x32 (grade 4.7)
- Using smaller blocks give 2425 misses for 61x67 (grade 5.8)
October 1, 2016
- According to the release notes, only a minor bug in the grade-cachelab.pl was fixed in 2016. The Performance lab is still up-to-date (last update 9/2/14).
- Writeup of cachelab is on acheron, not on u033089.uwp.science.uva.nl.
- grade-cachelab.pl is not in the handout, instead there is a driver.py.
- In the Makefile the CFLAGS is missing the argument -m64, but this seems not be a problem. Should also correct the type of the clean comment.
September 29, 2016
- Subscribed to Nvidia Educators program, to get a Robotics Teaching Kit with 'Jet'.
- At the members area, I have access to two zip-files (Accelerated Computing and Robotics Teaching downloads).
- The Robotics Teaching zip contains the Syllabus and the first four modules (Introduction, Sensors & Actuators, Computer Vision, Machine Learning).
- I also have access to bitbucket repository, with the latest developments (updated last week). The repository consists of docs-folder with the projects and labs for the course, a examples folder which consists of demonstration (solution), which could be converted to assignments, and build instructions to build a ros-compatible robot with as motherboard a NVIDIA Jetson TX1 Development Kit. The Jetson TK1 is shipped with Ubuntu 14.04 LTS.
- The robot consists of 42 elements, total price $745.54 ($299 for the Jetson TX1). The chassis is build from Actobotics parts, which have their own video lectures to learn how to build robots.
- The Teaching Kit material could be ported to similar projects too.
- The Jetson TK1 is coupled (via USB) to a Playstation camera, the other sensors are coupled via an Arduino Mega board.
- Module 2 is to build a Finite State Machine as specified in a figure by subscribing to the sonar rosnode and publish forward, reverse or turn with a cmd_vel.
- Module 3 is to detect a bright colour object (ball!) and find the center of the segment (no transformation to robots coordinates in this module yet).
- The Machine Learning lecture concludes that there are five ML-environments: Scikit-Learn, Spark MLlib, Weka, Caffe and TensorFlow.
- The lecture continues with Caffe, not a strange choice to make use of the 256 CUDA cores of the Jetson.
- The Module 4 assignment is to drive the robot through the course, couple the image with drive commands (FORWARD, LEFT or RIGHT) and use this for training a Caffe network.
- Put the zip in my Autonomous Mobile Robots Windows folder.
- The other kit contains a link to online syllabus of GPU Teaching. The zip also contains demos from student teams, for instance the comparison of feed-forward networks on CPU and GPU.
- The first lab (Module 2) is to get the cudaDeviceProperties. Maybe a nice thing to try on my two laptops.
September 13, 2016
- Made a script make99bombs.sh.
- Modified makebomb.pl so that the solution is no longer in the handout directory.
- Also copied the labbook_example.tex to the handout directory.
September 4, 2016
- Corrected phase6c and phase6d so that all groeps get equily difficult phases. Max points for the puzzles is now 27.
- Exported rubrick from previous year and importerted it in this year's course. Modified from the max points from 12 to 10.
- Exported a list of students from datanose, put the last column as first, removed the third and further columns and saved as csv. Scheduled to be used (receive an email when done).
- Made 99 puzzles with source ./make99puzzles.sh.
August 25, 2016
- Made a bit-ops question from the Colorado question-bank. Format is make-bit-ops -n2.
- The result is a xml-file, without style-file. It contains a table with at the bottom a SHORTANSWER-tag (interface to Moode LMS?).
- Shortanswer is for sure part of Moodle XML format, but the question-type is Close (instead of shortanswer). Yet, the SHORTANSWER-tag seems to be a macro, but not one I can find.
- Look if I could add additional phases.
- phase1d: bitXor.c: * Rating: 1
- phase2a: allEvenBits.c - > allOddBits.c: * Rating: 2
- phase2c: anyOddBit.c -> anyEvenBit.c: * Rating: 2
- phase2d: oddBits.c: * Rating: 2
- phase3a: isPositive.c -> isNonNegative.c: * Rating: 3
- phase3b: isLessOrEqual.c -> isGreater: * Rating: 3
- phase3d: isLess.c: * Rating: 3
- phase4a: ilog2.c -> : isPower2.c: * Rating: 4
- phase4c: howManyBits: bitCount.c: * Rating: 4
- phase4d: greatestBitPos.c: * Rating: 4
- I can better combine phase5 and phase6, and add an additional phase1
- newphase2a: minusOne.c
- newphase2b: fitsShort.c
- newphase2c: thirdBits.c
- newphase2d: upperBits.c
- Made 24 phases and modified makepuzzle.pl to accompany phase?d
- The command ./makepuzzle.pl -i 1 -s ../src -o ./handout -l CS2016 -u group1@fnwi -v group1 failed on dlcdir: No such file or directory, but more important the error Invalid phase pattern (-p) from makephases.pl
- Also modified makephases.pl to work with phase?d.
- Removed the copying of selections.c to puzzle directory.
August 24, 2016
- Only some changes in the Makefile of the datalab, according to the release notes.
- The changes in the bomblab is mainly in the daemon, not the content, according to the release notes.
August 23, 2016
- Installed Ubuntu 16.04 64bits Virtual Machine for this year. The image is 13 GB big and it takes 10 minutes before the DropBox installation is finished.
- Checking the instructions of Datalab.
- The writeup I could find at u033089.uwp.science.uva.nl. Updated the instructions. I will upload them once I have created the puzzles.