USTC Team SwanGeese


  • Home

  • Archives

  • Tags

  • Categories

全国大学生 RDMA 编程竞赛介绍

Posted on 2018-01-20 | In Introduction

嗯,先贴一段比赛官网的介绍:

全国大学生 RDMA 编程竞赛,旨在为大学生提供学习RDMA,并成为RDMA编程高手的绝佳机会。自2013年首次举办,大赛就吸引了来自全国各地的20余家高校报名参加。在2016年举办第四届大赛时,更是吸引了70余所高校报名参加,并受到了来自国际顶尖高性能计算、云计算和大数据领域专家的广泛关注和媒体的争相报道。

简单地说呢,RDMA 是一种相对于 TCP/IP 而言完全不同的网络通信模式。TCP 通信的基础设施是以太网卡、网线、交换机,响应地,RDMA 通信通常需要依靠 InfiniBand 卡、InfiniBand 线材、InfiniBand 交换机来完成组网和通信。

InfiniBand(后面简称 IB)卡通过 PCIE 接口与计算机互联。除了通信带宽、通信延迟都比以太网要好上几十倍这个量级以外,比较特别的是 IB 卡具有自主访问、读写内存的能力,因此它可以完成普通的 TCP 通信完全做不到功能,即我们这里需要的 RDMA(Remote Direct Memory Access)。

Read more »

2018年招入新人队员参加比赛的大致时间安排和队员组成

Posted on 2018-01-19 | In Introduction

以下均为大致预计人数。

  • RDMA:2018年五月至十月,16级、17级本科生队员三人。
  • PAC:2018年五月至九月,16级、17级本科生队员七人。其中:
    • 优化队4人
    • 应用队1人(有其它研究生参与)
    • 人工智能队2人
  • CPC:2018年五月至十月,16级、17级本科生队员二人。

到2019年,我们会参加ISC和SC两项国际竞赛。其中,

  • ISC19队伍:6人,包括16级和17级本科生。
  • SC19队伍:6人,主要为17级本科生(16级已经大四,可能没有时间;如果有心也可以参加。)

更多信息参见安虹老师的招新宣传演示文稿。

Student Cluster Competition系列比赛

Posted on 2018-01-19 | In Introduction

WIP: ISC比赛的相关说明待更新

Student Cluster Competition(学生超算竞赛)是一系列在指定功耗限制(3 kW)内,以现实科学计算问题作为计算任务,在限定时间内考量学生队伍表现的比赛。主要包括ASC(Asia Student Supercomputing Challenge)、ISC(ISC-HPCAC Student Cluster Competition,ISC-HPCAC是一个顶级学术会议)和SC(SC Student Cluster Competition,SC同样地也是一个顶级学术会议)三项,我们队伍历年来主要参加后两项。

ISC和SC SCC都在对应的顶会兼大型展览上举办。赛场即会场,比赛的区域便是展厅一角,展览开放期间也会有不少参观者路过、驻留围观,很是热闹。不过很可惜的是队员们绝对没有那个心情和精力去和他们闲聊~

话归正题。这一比赛的主要形式,是在赛前近半年给出比赛题目(一些用作计算任务的应用,通常是成型的开源项目等),学生从此时开始组队、分析应用、设计集群、联系vendor装配集群,进行比赛的准备。到赛场上后,组装好机器,然后开始三天每天8小时(ISC)或连续近48小时(SC)的比赛。虽然赛题在赛前给出,但具体的输入数据(算例)直到赛场才会提供,因此是不可伪造的。

以SC为例,这一比赛的主要考察内容有以下几点:

Read more »

技能储备要求

Posted on 2017-12-12 | In Tutorials

对于技能储备,我们是没有硬性要求的;不会的东西学就好了。当然,有预先掌握的知识点或技能点会成为加分项。以下条目按重要性从高到低排序。

  • 信息检索,主要是搜索引擎的使用。

    熟练使用使用英文关键字在 Google 等(也就是不能是国内搜索引擎,例如百度)查找自己所需要的信息。不建议使用百度的原因是百度的结果当中,CSDN 等低质量社区权重较高,并且使用英文关键字搜索的质量较低;同时,高质量的 Stackoverflow 等社区都为英文。而很多 news 和 manual 都是 English only 的,因此建议使用英文关键字在 Google 上查找信息。

    当然了这也就要求你具备相当程度的英文阅读水平。你可以从现在起尝试一下,接下来每一条目的内容如果有不熟悉,直接去 Google 搜索。

  • Linux 的使用。

    这里指的是 unix-like shell 中对包含 GNU toolchain 在内的工具的熟练使用,例如 gcc、git、bash script、包管理器等;以及对环境配置方式的了解,例如 PATH、LD_LIBRARY_PATH 等环境变量。

  • 理解计算机系统的构成,理解编译器、操作系统、处理器的工作方式。

    《计算机系统概论》(《Introduction to Computing Systems》)将是很好的入门性质教材/课程参考,而《计算机体系结构:量化研究方法》则是很好的进阶教材(对应课程是计算机学院的必修课《计算机体系结构》)。

    你需要清楚从源代码到汇编到二进制再到被处理器执行的整个过程。这将有助于你分析性能问题、进行优化。

  • 了解 GitHub 上多人协作的方式。

    在各种比赛中,如果需要修改代码或编写一些工具,通过实验室的 GitLab 平台进行协作将是较合适的方式,而 GitLab 与 GitHub 相似点很多。

  • 了解包括 CMake 和 automake 在内的多种自动化构建系统,掌握 Makefile。

    在 SCC 比赛中,每个赛题都是一个成型的项目,经常会有超大型的(百万甚至千万行代码)的项目,这样的项目的编译配置都十分复杂,你需要熟练地使用各类自动化构建系统,才能快速上手项目。常用的构建工具包括 CMake 和 automake,但有时需要自己魔改编译参数、或者修 bug(没错,有 bug 很常见的)的时候,直接去接触 Makefile 本身也是必须的。

    CMake 和 automake 都是用来根据选项自动生成 Makefile 的工具。不了解的同学请参考它们的主页和文档。

  • 并行计算。

    你需要:

    • 了解 CPU 的多线程并行、GPU 的 SIMT 并行模型、多节点的分布式并行;
    • 会使用 OpenMP、MPI 或 CUDA 编写并行程序。

      了解概念有助于理解项目的运行方式(或者说不了解概念就理解不了),而能够编写并行程序则对于需要上手优化的项目有很重要的意义。在 PAC 比赛和 RDMA 比赛中,并行编程都是必须的。

Hello World

Posted on 2017-12-12 | In Introduction

Team SwanGeese says hello to the world here.

中国科大超算鸿雁队于2012年成立,先后参加了22次高性能计算相关学生竞赛,共121人次参与其中。我们参加的比赛包括ASC、ISC、SCC、PAC、RDMA等。队伍由安虹老师指导,先进计算机系统结构实验室提供支持。

我们将在USTC-SwanGeese中陆续上传先前历次竞赛中涉及的代码,并在本站点中陆续更新先前的参赛资料和总结。此外,我们常用的管理工具和方法也将在这里介绍和维护。

We are settled here and opening to everyone.

Team SwanGeese

Mainpage for Team SwanGeese for various student HPC-related competitions in University of Science and Technology of China.

5 posts
2 categories
4 tags
RSS
© 2018 Team SwanGeese
Powered by Hexo
|
Theme — NexT.Gemini v6.0.0