首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
为高性能计算构建芯片
文摘
2024-11-25 07:00
上海
公众号:软硬件协同设计 HW-SW Co- Design
作者:
ANN MUTSCHLER
翻译:Brian
校对:Mike
链接:https://semiengineering.com/architecting-chips-for-high-performance-computing/
数据中心 IC 设计正在根据工作负载不断发展,但为这些工作负载做出权衡并不总是那么简单。
全球领先的超大规模云数据中心公司——亚马逊、谷歌、Meta、微软、甲骨文和 Akamai——正在推出专门用于云的异构多核架构,其影响正在整个芯片行业的高性能 CPU 开发中显现出来。
这些芯片不太可能在商业上出售。它们针对特定数据类型和工作负载进行了优化,设计预算巨大,但可以通过提高性能和降低功耗来节省成本。目标是将更多的计算能力打包到更小的区域,同时降低冷却成本,而实现这一目标的最佳方法是通过定制架构,采用紧密集成的微架构和精心设计的数据流。
这一趋势始于近十年前,当时 AMD 开始采用异构架构和加速处理单元,取代了同质多核 CPU 的旧模式,但起步缓慢。此后,它开始起步,追随为移动消费设备创建的设计的脚步,这些设计需要处理非常紧凑的空间以及严格的功率和散热要求。
Quadric 营销副总裁 Steve Roddy 表示:“英特尔等行业巨头的单片硅片几乎在每个产品代码中都有 AI NPU。”“当然,人工智能先驱 NVIDIA 长期以来一直在其非常成功的数据中心产品中混合使用 CPU、着色器 (CUDA) 核心和 Tensor 核心。未来几年向小芯片的转变将有助于完全巩固这一转变,因为指定小芯片组合的系统买家可以选择专门针对相关设计插槽定制的计算和互连类型。”
这在很大程度上是由于物理学和由此产生的经济学。随着尺寸缩小带来的好处以及先进封装技术的成熟(允许将更多定制功能添加到过去受掩模版尺寸限制的设计中),每瓦性能和每美元性能的竞争已进入白热化阶段。
“如今,每个人都在构建自己的架构,尤其是数据中心参与者,而很多处理器架构都取决于工作负载,”西门子 EDA IC 部门营销总监 Neil Hand 说道。“与此同时,这些开发人员正在询问加速的最佳途径是什么,因为有很多方法可以做到这一点。你可以采用具有大量内核的并行性路线,这对某些事情不起作用,但对其他事情却很有效。同时,应用程序的内存带宽更加受限,因此你将开始看到一些高性能计算公司将所有精力都花在内存控制器上。其他人则说,‘这实际上是一个分解问题,我们将采用加速器路线,并使用单独的核心。’但我不认为存在一种适合所有情况的解决方案。”
Roddy 指出,这些新型超级芯片内的 CPU 内核仍然遵循高性能 CPU 设计的可靠原则——快速、深度管道,在追踪指针方面极其有效——但这不再是设计团队的唯一关注点。“这些大型 CPU 现在与其他可编程引擎共享空间——GPU 和通用可编程 NPU,它们可以加速 AI 工作负载,”他说。“与大众消费设备中高度专业化的 SoC 相比,一个显着的区别是避免使用硬连线逻辑块(加速器)来执行视频转码或 AI 工作负载中的矩阵加速等任务。为数据中心设计的设备需要保持可编程性以响应各种工作负载,而不仅仅是消费电器中单一的已知功能。”
然而,所有这些都需要更多的分析,设计界正在继续推动流程中的更多步骤。 Hand 表示:“无论是通过工具,还是通过仿真或虚拟原型,你都有工具来理解数据是什么。”“此外,这个行业已经发展壮大,有足够的专业化来证明这笔开支是合理的。第一部分谈到了降低开发新硬件的风险,因为你有工具可以理解,你不必谨慎行事,构建一刀切的产品。现在,市场已经开始分化,以至于它足够重要,你可以花钱去做。此外,现在也有方法和手段去做。过去,当英特尔推出处理器时,对于与英特尔竞争的人来说,这几乎是不可想象的。现在,通过生态系统、技术和其他一切的结合,这变得容易得多。高性能计算公司最初唾手可得的成果是,‘让我们获得一个允许我们按自己想要的方式进行尺寸调整的良好平台,并放入一些加速器。’因此,我们开始看到 AI 加速器和视频加速器,然后一些更深奥的公司开始追求机器学习。这意味着什么?例如,这意味着他们需要非常高的 MAC 性能。他们会将处理器架构重点放在这一点上,这就是他们脱颖而出的方式。”
加上 RISC-V 和可重复使用的芯片和硬 IP,架构开始看起来与几年前大不相同。“如果你现在看看数据中心和数据中心的整个软件堆栈,将某些东西放入该堆栈并不像以前那么难,以前你必须重建整个数据中心,”Hand 说。“今天变得重要的是进行系统级分析的能力。系统级协同设计融入到应用中已经变得非常重要,而且它变得更加容易实现,因为高性能计算不再是过去的样子。这是一个移动数据中心。”
许多人认为,应该开发新的架构来克服几代 CPU 都存在的内存挑战。“对 AI/ML 的需求将加速开发新的特定应用架构的过程,”Fraunhofer IIS 自适应系统工程部高效电子部门负责人 Andy Heinig 表示。“如果经典 CPU 提供更好的内存接口来解决内存问题,它们就可以成为这场革命的一部分。如果 CPU 提供这种新的内存架构,那么 AI/ML 加速器可以与 CPU 一起成为数据中心的最佳解决方案。然后 CPU 负责需要灵活性的经典任务,而加速器为非常特定的任务提供最佳性能。”
例如,Arm 直接与多个超大规模计算提供商合作开发其基于 Neoverse 的计算解决方案,以实现高性能、通过定制实现的灵活性以及强大的软件和硬件生态系统。这已经产生了公开发布的芯片,如 AWS Graviton 和 Nitro 处理器、谷歌的 Mt. Evans DPU、微软 Azure 的 Cobalt 100、NVIDIA 的 Grace CPU Superchip 和阿里巴巴的 Yitian 710。
“我们从这些和其他设计合作伙伴那里学到了很多东西,”Arm 基础设施业务线产品管理高级总监 Brian Jeff 说。“我们塑造高性能 CPU 和平台开发的主要方式之一是通过更深入地了解基础设施工作负载,从而实现特定的架构和微架构增强,特别是对我们的 CPU 管道和 CMN 网状结构的前端。”
但捕获该工作负载并为其开发芯片架构并不总是那么简单。对于 AI 训练和推理来说尤其如此,因为算法会随着算法的变化而变化。
“正在训练的模型有很多,比如 Meta 公开的 Llama 模型和 Chat GPT 模型,”Synopsys 接口 IP 首席产品经理 Priyank Shukla 说。 “所有这些模型都有一个模式,一定数量的参数。让我们以 GPT-3 为例,它有 1750 亿个参数。每个参数都有 2 字节宽度,所以是 16 位。你需要将这么多的信息——1750 亿个参数存储到 2 个字节中,这相当于内存中的 3500 亿字节。该内存需要存储在共享该模型的所有加速器中,需要将其放置在加速器的结构上,参数需要放置在与此加速器关联的内存中。因此,你需要一个可以接受更大模型然后对其进行处理的结构。你可以用不同的方式来实现该模型——实现该算法的方式。你可以以串行方式完成一些工作,也可以并行完成一些工作。以串行方式进行的工作需要具有缓存一致性,并且延迟最小。这种以串行方式进行的工作将在机架内进行划分,以将延迟降至最低。可以并行进行的工作将通过横向扩展网络跨机架进行划分。我们看到系统人员正在创建这个模型和算法,并在定制硬件中实现它。”
图 1:ML 优化的服务器机架。
组装各种处理元件并非易事。“它们是异构多核架构,通常是通用 CPU 和 GPU 的混合体,具体取决于公司的类型,因为他们偏爱其中一种,”Synopsys ASIP 工具产品经理 Patrick Verbist 说道。“然后是具有固定功能的 RTL 加速器,它们混合在这些异构多核架构中。这些加速器运行的应用程序负载类型通常包括数据处理、矩阵乘法引擎、激活函数、参数的压缩/解压缩、图的权重等。但所有这些事物之间的一个共同点是与大规模操作有关。通常,这些计算是在标准或自定义数据类型上完成的。许多处理架构通常都支持 int 16,但如果您只需处理 16 位数据,您就不想浪费 32 位数据路径中的 16 位。您必须对其进行自定义。因此,加速器不仅需要运行浮点 32 数据类型,还需要支持 int 8 和/或 int 16,可能是半精度浮点、自定义 int 或自定义浮点类型的数据类型,而功能单元、运算符通常是向量加法器、向量乘法器、加法器树和激活函数的组合。这些激活函数通常是超越函数,如指数或双曲函数、平方根、大规模除法,但经过矢量化并具有单周期吞吐量要求,因为每个周期,您都希望对这些东西开始新的操作。对于这种类型的加速器,在这种异构性中,我们看到许多客户使用 ASIP(特定于应用程序的指令处理器)作为这种异构空间中的其中一个块。 ASIP 允许您自定义操作符,因此数据路径和指令集仅以比常规 DSP 更高效的方式执行一组有限的操作。”
DSP 通常不执行,它太通用了。另一方面,固定功能 RTL 可能不够灵活,这就为“是的,我们需要比固定功能 RTL 更灵活、比通用 DSP 更不灵活的东西”创造了空间。这就是 ASIP 发挥作用的地方。如果你看看 GPU,GPU 在某种程度上也是通用的。它必须支持各种工作负载,但不是所有工作负载。这就是 ASIP 发挥作用的地方,以支持灵活性和可编程性。您需要这种灵活性来支持一系列计算算法,以适应不断变化的软件或 AI 图形要求,以及 AI 算法本身不断变化的要求。”
西门子的 Hand 认为计算工作负载是一项艰巨的挑战。
Hand 表示:“为了解决这个问题,垂直整合的公司正在以这种方式投资高性能计算,因为高性能计算与 AI 没有太大区别,你只能根据看到的数据模式开展工作。”“如果你是亚马逊或微软这样的公司,那么你会获得大量的跟踪数据,而无需窥探任何数据,而且你知道机器的瓶颈在哪里。你可以使用这些信息并说,‘我们看到我们获得了内存带宽,我们必须对此做些什么,或者是网络带宽问题,或者是 AI 吞吐量问题,我们在这些方面遇到了麻烦。’这与边缘发生的挑战没有什么不同。边缘的目标是不同的,我们经常会这样想,‘我能摆脱什么?我不需要什么?’或者‘我可以在哪里缩小功率范围?’而在数据中心,你会问,‘我如何才能传输更多数据,如何才能不烧坏设备?随着设备越来越大,我如何才能以可扩展的方式做到这一点?’”
Hand 认为,转向多芯片将推动许多有趣的发展,并且已经被 AMD 和 Nvidia 等公司使用。“现在,你可以开始为这些高性能计算应用程序提供一些有趣的即插即用组件,在非常大的层面上,你可以开始说,‘我的互连芯片是什么?我的处理芯片是什么?’它提供了构建标准计算机的中间地带,无需进行太多更改。我能做什么?我可以放入不同的进程、不同的网卡、不同的 DIMM。作为云提供商,我能做的是有限的,以进行区分。另一方面,微软和 Azure 等大型云提供商表示,‘我可以构建自己的完整 SOC,做任何我喜欢的事情。我可以去构建它。’但现在你可以进入这个中间地带,假设你认为生物计算数据中心是一个市场,有足够多的人进入这个市场,你可以赚一些钱。你能组装一个 3D IC 并让它在那个环境中工作吗?看看会出现什么会很有趣,因为它会降低进入门槛。我们已经看到苹果、英特尔、AMD 和 Nvidia 等公司使用它来加快他们的旋转速度和增加多样性,而无需测试巨大的芯片,我认为这将对高性能计算产生比人们意识到的更大的影响。当你开始将它们与环境的完整数字孪生等东西结合起来时,你就可以开始了解环境中的工作负载,了解瓶颈,然后尝试不同的分区,然后向下推。”
Arm 的 Jeff 还认为数据中心芯片架构正在发生变化,以适应 AI/ML 功能。“CPU 上的推理非常重要,我们看到我们的合作伙伴利用我们的 SVE 管道和矩阵数学增强功能以及数据类型来运行推理。我们还看到 AI 加速器通过高速相干接口紧密耦合,DPU 正在扩展其带宽和智能以将节点连接在一起。”
多芯片是不可避免的
芯片行业非常清楚,对于许多计算密集型应用而言,单芯片解决方案变得不切实际。过去十年来,最大的问题是何时转向多芯片解决方案会变得更加主流。“整个行业正处于一个转折点,你再也无法避免这种情况了,”Synopsys 研发总监 Sutirtha Kabir 表示。 “我们在幕后讨论了摩尔定律和‘SysMoore’,但设计师必须在 CPU 和 GPU 中添加更多功能,而由于标线尺寸限制、产量限制以及所有这些限制,他们无法做到这一点。多芯片芯片在这里是不可避免的,这带来了一些有趣的考虑。首先,拿一张纸折叠起来。这基本上就是多芯片的一个例子。你拿一个芯片,把它折叠起来,如果你能巧妙地设计它,你可以认为,与长时序路径相比,你实际上可以大大缩短时序。如果你从顶部芯片到底部芯片,你所经历的可能只是芯片中的少量布线,但它们大多是凸块到凸块或键合到凸块。”
多芯片设计的挑战包括确定需要同步多少条路径,时序是否应放在两个芯片之间或单独关闭,以及 L1 是否应放在顶部芯片或底部芯片上 - 以及是否可以添加 L4。
“从 3D 的角度来看,平面规划现在变得非常有趣,”Kabir 解释道。“你要把一栋单层的房子改造成三层或四层。但还有其他设计挑战。你不能再忽略热问题了。热问题过去是 PCB 的问题,而系统设计师现在认为这些芯片非常热。Jensen Huang 最近在 SNUG 上表示,你从一端送入室温水,而从另一端流出的水温度却达到按摩浴缸的温度。他在开玩笑,但事实是,从温度的角度来看,这些芯片很热,如果你在平面规划时不考虑到这一点,你的处理器就会烧坏。这意味着你必须更早开始做这件事。就 3D 平面规划而言,当涉及到工作负载时,即使你甚至没有网表,你如何知道你已经分析了多芯片的不同工作负载,并确保考虑了 IR、热和时序等关键影响?我们称之为零网表阶段。这些考虑都变得非常有趣,而且由于你无法避免使用多芯片,从代工厂的角度来看,从 EDA 的角度来看,这些都是生态系统中的重中之重,设计师则处于中间位置。”
与数据中心芯片的散热问题相关的是低功耗设计方面。
“这些数据中心使用大量电力,”Ansys 产品营销总监 Marc Swinnen 说道。“我在旧金山的 ISSCC 上,我们在一个展位旁边,NVIDIA 正在展示它的一个 AI 训练盒——一个大而醒目的盒子,里面有八个芯片,还有大量的风扇和散热器。我们问它用了多少电,他们说,‘哦,最高 10,000 瓦,但平均 6,000 瓦。’电力真的变得疯狂。”
Arm 的 Jeff 同意,应对数据中心芯片新挑战的最佳方法是采用完整的系统方法,该方法涵盖指令集架构、软件生态系统和特定优化、CPU 微架构、结构、系统内存管理和中断控制,以及封装内和片外 I/O。“完整的系统方法使我们能够与合作伙伴合作,根据现代工作负载和工艺节点定制 SoC 设计,同时利用基于芯片的设计方法。”
这种定制芯片设计方法使数据中心运营商能够优化其电力成本和计算效率。“我们的 Neoverse N 系列具有高效率,可实现从 128c 到 192c 及以上的每插槽核心数,”Jeff 说道。“这些相同的 N 系列产品可以缩小到 DPU 和 6g L2 设计以及占用空间更小的边缘服务器。我们的 V 系列产品线以云为目标,具有更高的每线程性能和更高的矢量性能(适用于 AI 推理和视频转码等工作负载),同时仍提供高效率。多种加速器连接选项使我们的合作伙伴能够在适合其工作负载的 SoC 中将定制处理和云原生计算的正确组合结合在一起。”
“从 3D 的角度来看,平面规划现在变得非常有趣,”Kabir 解释道。“你要把一栋单层的房子改造成三层或四层。但还有其他设计挑战。你不能再忽略热问题了。热问题过去是 PCB 的问题,而系统设计师现在认为这些芯片非常热。Jensen Huang 最近在 SNUG 上表示,你从一端送入室温水,而从另一端流出的水温度却达到按摩浴缸的温度。他在开玩笑,但事实是,从温度的角度来看,这些芯片很热,如果你在平面规划时不考虑到这一点,你的处理器就会烧坏。这意味着你必须更早开始做这件事。就 3D 平面规划而言,当涉及到工作负载时,即使你甚至没有网表,你如何知道你已经分析了多芯片的不同工作负载,并确保考虑了 IR、热和时序等关键影响?我们称之为零网表阶段。这些考虑都变得非常有趣,而且由于你无法避免使用多芯片,从代工厂的角度来看,从 EDA 的角度来看,这些都是生态系统中的重中之重,设计师则处于中间位置。”
与数据中心芯片的散热问题相关的是低功耗设计方面。
“这些数据中心使用大量电力,”Ansys 产品营销总监 Marc Swinnen 说道。“我在旧金山的 ISSCC 上,我们在一个展位旁边,NVIDIA 正在展示它的一个 AI 训练盒——一个大而醒目的盒子,里面有八个芯片,还有大量的风扇和散热器。我们问它用了多少电,他们说,‘哦,最高 10,000 瓦,但平均 6,000 瓦。’电力真的变得疯狂。”
Arm 的 Jeff 同意,应对数据中心芯片新挑战的最佳方法是采用完整的系统方法,该方法涵盖指令集架构、软件生态系统和特定优化、CPU 微架构、结构、系统内存管理和中断控制,以及封装内和片外 I/O。“完整的系统方法使我们能够与合作伙伴合作,根据现代工作负载和工艺节点定制 SoC 设计,同时利用基于芯片的设计方法。”
这种定制芯片设计方法使数据中心运营商能够优化其电力成本和计算效率。“我们的 Neoverse N 系列具有高效率,可实现从 128c 到 192c 及以上的每插槽核心数,”Jeff 说道。“这些相同的 N 系列产品可以缩小到 DPU 和 6g L2 设计以及占用空间更小的边缘服务器。我们的 V 系列产品线以云为目标,具有更高的每线程性能和更高的矢量性能(适用于 AI 推理和视频转码等工作负载),同时仍提供高效率。多种加速器连接选项使我们的合作伙伴能够在针对其工作负载量身定制的 SoC 中将自定义处理和云原生计算的正确组合结合在一起。”
结论
鉴于高性能计算的进化性质,尤其是由于数据中心的优化方式存在不同方面,所有这些最终会走向何方几乎无法预测。“在网络爆炸式增长的初期,人们开始在数据中心内进行南北和东西路由,这改变了所有网络交换架构,因为这是最大的瓶颈,”西门子的 Hand 说。“这导致人们对数据中心的面貌进行了彻底的重新思考。内存方面也发生了类似的事情,当你开始集成光学器件和一些更智能的内存时,看看这将如何改变它,这将非常有趣。”
Hand 提到了几年前的一次英特尔开发者大会,当时该公司解释了它如何使用硅光子学中的表面发射光学器件将内存与数据中心机架中的存储分开。 “他们有一个统一的内存结构,可以在服务器之间共享,并且可以从不同的服务器分配内存,”他说。“因此,数据中心的拓扑结构开始变得非常有趣。即使在机架中,你也可以看到 NVIDIA 的 AI 系统结构,它看起来不像传统的服务器机架。最大的转变是人们可以查看它,如果有市场,你可以构建它。我们总是认为架构与核心是否快速有关。我们从‘核心快吗?’变成了‘我有足够的核心吗?’但它比这更深入。一旦你开始打破冯·诺依曼架构,开始使用不同的内存流,并开始研究内存计算,它就会变得非常酷。然后你会说,‘高性能计算到底是什么意思?’这将取决于应用程序。”
http://mp.weixin.qq.com/s?__biz=MzIxODAzMDA0Mg==&mid=2650946492&idx=2&sn=83c58bbfff9e62620eec012db56cb67f
软硬件协同设计 HW-SW Co-Design
欢迎后台留言,AI 客服全天在线。脱离物理硬件,开发测试和调试软件。基于虚拟原型的软硬件协同设计,提前一年实现产品上市创收,降低一半开发时间。
最新文章
左移,只是冰山一角
为高性能计算构建芯片
如何在系统层面优化功耗
处理器的对比,为什么很困难?
IP-XACT 回归,理由充分
IEEE IP-XACT 标准概述
SoC 开发中的虚拟原型设计
汽车芯片开发中的虚拟原型
使用虚拟原型实现持续集成和部署流程
为什么 SOAFEE 项目对于联网汽车的设计至关重要
Debug 调试:SoC 计划表的杀手
调试嵌入式应用程序 Debugging
谁负责处理器验证?
如何优化处理器?
一种用于多级 IP/SOC 设计的快速 SystemC 仿真方法
使用 IP-XACT 元数据进行 TLM 建模流程
追踪并优化 SoC 性能
利用 NoC 创新加速 SoC 演进,使用 NoC 平铺实现 AI 和机器学习
BMW 和 Qualcomm 构建云端 ADAS 平台
汽车 ECU 的全面验证策略:MIL、SIL 和 HIL
调试复杂的 RISC-V 处理器
使用自定义 RISC-V ISA 指令创建领域特定处理器
开始使用 IP-XACT 进行 IP 设计
使用 IP-XACT 的 SoC 设计流程
IP-XACT 介绍
UVM 寄存器模型
成本节约和产品质量提升:软件测试的左移
左移?如何加速汽车芯片开发流程 ?
早期验证和软件启动的混合方法
汽车网络的艺术(系列 1):VC3,新 E/E 架构评估系统
汽车网络的艺术(系列 2):PCIe 走向汽车
汽车网络的艺术(系列 3):虚拟化的力量
管理现代 SoC 设计中的性能
复杂 SoC 的准确高效功率估算流程
新硬件架构软件开发面临的五大挑战
计算机模拟:基础、术语、级别
在 Simulink 中生成 SystemC TLM 虚拟原型
MCU 故障模式:发生的原因以及如何预防
汽车行业对 Chiplet 和 UCIe 的需求
虚拟平台 Virtual Platform 技术
SystemC 中的系统级建模
优化 ISA 实现软硬件的和谐:自定义指令和 RISC-V 扩展
带有 RISC 主机和可配置微处理器的 SoC 的软硬件分区方法
SoC 设计中的系统架构是什么?
CPU 是最佳 AI 推理处理器的五大理由
通过改变抽象级别, 来加速 SoC 仿真
系统仿真、架构探索、电源管理、性能分析
汽车芯片团队研发岗位招聘
使用 TLM 虚拟系统原型, 进行汽车芯片的硬件和软件验证
芯片 Bring Up 正在发生变化
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉