Lab-Handbook
Computational Resources
IIT Gandhinagar has a number of computational resources available for research and teaching purposes. Aside from it, the department also has a number of workstations available for students and faculty members.
The following is the list of computational resources in our lab apart from the institute and departmental resources.
Servers
Our servers are named after great mathematicians/scientists:
- Ramanujan (रामानुजन): Srinivasa Ramanujan made groundbreaking contributions to number theory.
- Bhaskar (भास्कर): Bhaskar (aka Bhaskar II) is known for his work Siddhānta Shiromani (सिद्धांत शिरोमणि) which includes advances in algebra, calculus, and astronomy.
- Aryabhata (आर्यभट): Aryabhata is well-known for inventing the concept of zero (शून्य) and the place value system. He is also said to be one of the faculty members of the famous Nalanda University (नालंदा विद्यालय).
Ramanujan | Bhaskar | Sustain | |
---|---|---|---|
RAM | 512 GB (16 x 32GB) | 64 GB (1 x 64GB) | 192 GB (6 x 32GB) |
CPU | AMD EPYC 7452 32-Core Processor @ 2.30 GHz | Intel Gold ICX 6326 @ 2.90 GHz | Intel(R) Xeon(R) Silver 4208 CPU @ 2.10GHz |
Number of CPUs | 64 | 32 | 16 |
GPU | NVIDIA A100-SXM4 (80GB) | NVIDIA RTX A5000 (24GB) | NVIDIA RTX A4000 (16GB) |
Number of GPUs | 4 | 1 | 2 |
Workstations
Aryabhata | |
---|---|
RAM | 32 GB |
CPU | Intel Core i9-13900 |
Number of CPUs | 24 |
GPU | NVIDIA RTX A2000 |
Number of GPUs | 1 |
Relative Performances
Values
Less but better: Publish one less paper, but make the ones you publish really strong. Show one less result in the meeting, but thoroughly analyse the ones you show.
Expectations
Hard work: We are often working on cutting-edge research. This means that there is no clear path to success. We will have to try different things, and we will fail often. This is part of the process. I expect my students to work hard, and I expect them to be resilient.
Consistency: We do expect some seasonal variation in productivity. However, often the difference between a good and great project is the consistency of effort.
Striving for excellence: Often, the difference between a good and great project (or paper) is the last 10% of effort. I try to push my students to go the extra mile, and I expect the same from myself. This goes in various aspects of work, including writing, coding, and data analysis. As an example, I remember doing ten rounds of feedback with an undergraduate student from the group on their presentation for a conference. It was a lot of work, but the student ended up getting offers (higher studies) after the talk; and the student was appreciated by the session chair - “It is hard to believe that you are an undergraduate student”.
Clear, honest communication I try to be as clear as possible in my communication, and I expect the same from my students. I also expect my students to be honest with me. If you are struggling with something, let me know. If you are not interested in a project, let me know. If you are not happy with something, let me know. I you are unable to meet a deadline, let me know. Lack of communication is counterproductive.
I also typically want to help create a path for my students to achieve their goals. Thus, I expect my students to be clear about their goals, or be proactive in discussing their goals with me.
Culture of respect and collaboration: I expect my students to be respectful to each other, and to other members of the community. I also expect my students to be collaborative. This means that they should be willing to help each other, and to help other members of the community.
Meetings
Whole Group Meetings: We typically meet once a week for about 45-50 mins. We usually cover a variety of topics, including: - Short updates from each person on their progress - Discussion of any issues that have come up - Presentations on topics/tools of interest to the group - Paper discussions
We expect students to volunteer to present on topics of interest to them. We also expect students to volunteer to present on papers. To know more about what gets discussed in our group meetings please visit our Reading Page.
Project Meetings: The project meetings are tied to specific projects. We typically start with discussing the last meeting’s action items, then discuss any issues that have come up, and then discuss the next steps. The lead student on the project is responsible for setting the agenda and running the meeting. The lead student is also responsible for taking notes and posting them on the project’s repository.
Individual Meetings: Please refer to this material
Letter of Recommendations
Please this beautiful blogpost from Gautam Kamath. How to ask for LOR article by Gautam Kamath
Server Policy
How to get access: Send an email to Mr. Raviraj Sukhadiya, keeping Prof. Nipun Batra in cc. Mention the following details in your request: i) server name; ii) purpose for access.
Don’ts:
- Do not use the server for personal use or anything not related to the project. This includes any classwork or homework.
- Do not share your server credentials with anyone else.
Fair usage:
- Sometimes we have multiple projects running on the same server. Please be considerate of other projects and do not use up all the resources.
- Sometimes we may allocate specific cores or GPUs to specific projects. Please do not use cores or GPUs that are not allocated to your project.
Communicating Research
Writing Papers
Paper writing is a key part of research. This page contains some tips and tricks for writing papers. Paper writing is a skill that you will develop over time. But, it needs deliberate practice.
Paper structure and Abstract: I gave a talk (recording here, slides here) on how to write a paper. I recommend watching it. Other materials from the talk are available here.
LaTeXify figures: We’d suggest using this latexification tool to make the matplotlib
figures publication-ready. It helps in the following aspects:
- It helps in setting the exact size of the figure relative to the column width or page width of the paper. After using this tool, manually setting the size within the
\begin{figure}
block is rarely needed. - We can set the font size relative to the text font size in the paper to ensure fonts are not too small or too big.
- It converts the fonts into latex fonts so that the fonts in the figures do not look different from the main text font.
Tip: You can find page width and column width with
\the\textwidth
and\the\columnwidth
commands, respectively.
Self-contained figures and tables (and captions)
Tables: We follow this excellent small guide to making nice tables by Markus Püschel.
Comments in LaTeX: We typically create a macro corresponding to different author initials (I use \nb
for example) and then use that to create comments in the text. This is useful for commenting on the text, or for leaving notes to yourself. For example, I might write \nb{I'm not sure about this sentence}
and then I can search for all instances of \nb
to find all of my comments.
\newcommand{\nb}[1]{{\color{red}\small \iftoggle{hide}{}{\textbf{Nipun's comment:} #1}}}
American v/s British English: There are a few differences in spelling between American and British English. For example, the word “colour” in British English is spelled “color” in American English. The word “optimise” in British English is spelled “optimize” in American English. There are also some differences in grammar. I recommend picking one and sticking to it. Most of our previous papers have used British English (but often this depends on the set of co-authors).
Grammarly and other AI tools: I recommend students use Grammarly (or a similar) tool to check their writing once they have done a complete pass of editing. I do not recommend relying a lot on ChatGPT-like tools for writing papers as they can often lead to “correct” sounding but “incorrect” sentences.
Poster
In some venues, the main presentation format is a poster. Posters are a great way to present your work in a visual format, and to have one-on-one conversations with people who are interested in your work.
One common mistake people make while making posters is to try to cram in too much information. Remember that the poster is to supplement you and not to replace you.
Please see below for two posters that we have made in the past.
Sample Poster 1
Sample Poster 2
Please find the presentation files corresponding to the first poster 1. Apple Keynote
LaTeX users can use the following templates on Overleaf to make their posters.
Technical Background
Git and GitHub: There are a ton of good resorces on Git and Github. I’m linking two such resources here:
Python Data Science Stack:
- We recommend students to study the Python for Data Science Handbook by Jake VanderPlas. It is a free online book that covers the basics of Python, NumPy, Pandas, Matplotlib, and Scikit-Learn. It is a great resource for beginners and intermediate students alike.
- We recommend students regularly hone their skills solving exercises such as 100 Numpy exercises. Given that much of our work is in Torch-like frameworks, the students would also benefit by attempting to solve the exercises using PyTorch.
Object-Oriented Programming in Python: RealPython has a nice tutorial on Object-Oriented Programming in Python. We recommend students to go through the tutorial. They also have a corresponding video page.
LaTeX: We typically use LaTeX for writing reports and papers. We recommend students to use Overleaf for students to get started. Overleaf has a nice 30 minute tutorial that covers the basics of LaTeX. We highly recommend students to go through the tutorial.
Creating a Website and Blog: We highly recommend students create a simple website and a blog. We have been happily using Quarto for our website and blog. You may see in action in Nipun’s website and corresponding GitHub repo here; and Nipun’s blog and corresponding Github repo here.
Both of these are built via Github actions. Feel free to reuse these for creating your own website and blog. We will be happy to help you get started.