OpenCL

OpenCL API
OpenCL logo
原作者苹果公司
開發者科纳斯组织
首次发布2009年8月28日,​15年前​(2009-08-28
当前版本3.0.17[1]在维基数据编辑(2024年10月24日)
编程语言C,具有C++绑定
操作系统Android(厂商依赖)[2]FreeBSD[3]LinuxmacOS(通过PoCL)、Windows
平台ARMv7ARMv8[4]CellIA-32Powerx86-64
类型异构计算API
许可协议OpenCL规范许可证
网站www.khronos.org/opencl/
OpenCL C和C++ for OpenCL
编程范型指令式过程式)、结构化、(仅C++)面向对象泛型
语言家族C英语List of C-family programming languages
当前版本
  • 3.0.17(2024年10月24日;穩定版本)[1]
編輯維基數據鏈接
型態系統静态弱类型明示英语Manifest typing名义
實作語言特定于实现
文件扩展名.cl .clcpp
網站www.khronos.org/opencl 編輯維基數據鏈接
主要實作產品
AMDGallium Compute、IBMIntel NEO、Intel SDK、Texas InstrumentsNvidia、PoCL、ARM
啟發語言
C99CUDAC++14C++17

OpenCLOpen Computing Language,开放计算语言)是一个为异构平台编写程序的框架,此异构平台可由CPUGPUDSPFPGA或其他类型的处理器與硬體加速器所组成。OpenCL由一门用于编写kernels(在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。

OpenCL类似于另外两个开放的工业标准OpenGLOpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL擴充了GPU圖形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。

历史

OpenCL最初由苹果公司开发,拥有其商标权,并在与AMDIBMIntelNVIDIA技术团队的合作之下初步完善。随后,苹果将这一草案提交至Khronos Group。2008年6月16日,Khronos的通用计算工作小组成立[5]。5个月后的2008年11月18日,该工作组完成了OpenCL 1.0规范的技术细节[6]。该技术规范在由Khronos成员进行审查之后,于2008年12月8日公开发表[7]

2010年6月14日,OpenCL 1.1发布[8]。2011年11月15日,OpenCL 1.2发布[9]。2013年11月18日,OpenCL 2.0发布[10]。2015年11月16日,OpenCL 2.1发布[11]。2017年5月16日,OpenCL 2.2发布[12]

路线图

在2017年5月发行OpenCL 2.2之时,Khronos Group宣布OpenCL将尽可能的汇合于Vulkan,以确使OpenCL软件在这两种API上灵活部署[13]。这已经由Adobe的Premiere Rush展示出来,它使用clspv开源编译器[14],编译了大量OpenCL C内核代码,使其在部署于Android的Vulkan运行时系统上运行[15]

OpenCL拥有独立于Vulkan的前瞻性路线图[16],即曾意图在2020年发行的“OpenCL Next”[17],它可以集成于扩展诸如Vulkan/OpenCL互操作、Scratch-Pad内存管理、扩展子组、SPIR-V 1.4摄入和SPIR-V扩展调试信息;OpenCL还在考虑类似Vulkan的装载器和分层以及“灵活配置”,以便在多种加速类型上灵活部署。

OpenCL 3.0

在2020年8月30日,发行了最终的OpenCL 3.0规范[18]。OpenCL 1.2功能已经成为强制性基准,而所有OpenCL 2.x和OpenCL 3.0特征变为可选项[19]。这个规范保留了“OpenCL C”语言[20],并废弃了版本2.1介入的“OpenCL C++”内核语言[21],将其替代为“C++ for OpenCL”语言[22],它基于了Clang/LLVM编译器,实现了C++17的子集和SPIR-V英语Standard Portable Intermediate Representation中间代码。C++ for OpenCL版本1.0的官方文档在2020年12月发表[23],它后向兼容于OpenCL C 2.0。

IWOCL英语IWOCL 21上发布的OpenCL 3.0.7,提出了C++ for OpenCL的新版本和一些Khronos openCL扩展[24]。在2021年12月,发行了C++ for OpenCL版本2021[25],它完全兼容于OpenCL 3.0标准。NVIDIA密切协作于Khronos OpenCL工作组,通过信号量和内存共享改进了Vulkan互操作[26]。小更新3.0.14版本,具有缺陷修正和针对多设备的一个新扩展[27]

範例

快速傅立葉變換

一個快速傅立葉變換的式子: [28]

  // create a compute context with GPU device
  context = clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU, NULL, NULL, NULL);

  // create a command queue
  queue = clCreateCommandQueue(context, NULL, 0, NULL);

  // allocate the buffer memory objects
  memobjs[0] = clCreateBuffer(context, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, sizeof(float)*2*num_entries, srcA, NULL);
  memobjs[1] = clCreateBuffer(context, CL_MEM_READ_WRITE, sizeof(float)*2*num_entries, NULL, NULL);

  // create the compute program
  program = clCreateProgramWithSource(context, 1, &fft1D_1024_kernel_src, NULL, NULL);

  // build the compute program executable
  clBuildProgram(program, 0, NULL, NULL, NULL, NULL);

  // create the compute kernel
  kernel = clCreateKernel(program, "fft1D_1024", NULL);

  // set the args values
  clSetKernelArg(kernel, 0, sizeof(cl_mem),(void *)&memobjs[0]);
  clSetKernelArg(kernel, 1, sizeof(cl_mem),(void *)&memobjs[1]);
  clSetKernelArg(kernel, 2, sizeof(float)*(local_work_size[0]+1)*16, NULL);
  clSetKernelArg(kernel, 3, sizeof(float)*(local_work_size[0]+1)*16, NULL);

  // create N-D range object with work-item dimensions and execute kernel
  global_work_size[0] = num_entries;
  local_work_size[0] = 64;
  clEnqueueNDRangeKernel(queue, kernel, 1, NULL, global_work_size, local_work_size, 0, NULL, NULL);

真正的運算:(基於Fitting FFT onto the G80 Architecture)[29]

  // This kernel computes FFT of length 1024. The 1024 length FFT is decomposed into
  // calls to a radix 16 function, another radix 16 function and then a radix 4 function

  __kernel void fft1D_1024(__global float2 *in, __global float2 *out,
                          __local float *sMemx, __local float *sMemy){
    int tid = get_local_id(0);
    int blockIdx = get_group_id(0) * 1024 + tid;
    float2 data[16];

    // starting index of data to/from global memory
    in = in + blockIdx;  out = out + blockIdx;

    globalLoads(data, in, 64); // coalesced global reads
    fftRadix16Pass(data);      // in-place radix-16 pass
    twiddleFactorMul(data, tid, 1024, 0);

    // local shuffle using local memory
    localShuffle(data, sMemx, sMemy, tid, (((tid & 15)* 65) +(tid >> 4)));
    fftRadix16Pass(data);               // in-place radix-16 pass
    twiddleFactorMul(data, tid, 64, 4); // twiddle factor multiplication

    localShuffle(data, sMemx, sMemy, tid, (((tid >> 4)* 64) +(tid & 15)));

    // four radix-4 function calls
    fftRadix4Pass(data);      // radix-4 function number 1
    fftRadix4Pass(data + 4);  // radix-4 function number 2
    fftRadix4Pass(data + 8);  // radix-4 function number 3
    fftRadix4Pass(data + 12); // radix-4 function number 4

    // coalesced global writes
    globalStores(data, out, 64);
  }

Apple的網站上可以發現傅立葉變換的例子[30]

平行合併排序法

使用 Python 3.x 搭配 PyOpenCL 與 NumPy

import io
import random
import numpy as np
import pyopencl as cl

def dump_step(data, chunk_size):
    """顯示排序過程"""
    msg = io.StringIO('')
    div = io.StringIO('')
    for idx, item in enumerate(data):
        if idx % chunk_size == 0:
            if idx > 0:
                msg.write(' ||')
                div.write('   ')
            div.write(' --')
        else:
            msg.write('   ')
            div.write('------')
        msg.write(' {:2d}'.format(item))

    out = msg.getvalue()
    if chunk_size == 1: print(' ' + '-' * (len(out) - 1))
    print(out)
    print(div.getvalue())
    msg.close()
    div.close()

def cl_merge_sort_sbs(data_in):
    """平行合併排序"""
    # OpenCL kernel 函數程式碼
    CL_CODE = '''
    kernel void merge(int chunk_size, int size, global long* data, global long* buff) {
        // 取得分組編號
        const int gid = get_global_id(0);

        // 根據分組編號計算責任範圍
        const int offset = gid * chunk_size;
        const int real_size = min(offset + chunk_size, size) - offset;
        global long* data_part = data + offset;
        global long* buff_part = buff + offset;

        // 設定合併前的初始狀態
        int r_beg = chunk_size >> 1;
        int b_ptr = 0;
        int l_ptr = 0;
        int r_ptr = r_beg;

        // 進行合併
        while (b_ptr < real_size) {
            if (r_ptr >= real_size) {
                // 若右側沒有資料,取左側資料堆入緩衝區
                buff_part[b_ptr] = data_part[l_ptr++];
            } else if (l_ptr == r_beg) {
                // 若左側沒有資料,取右側資料堆入緩衝區
                buff_part[b_ptr] = data_part[r_ptr++];
            } else {
                // 若兩側都有資料,取較小資料堆入緩衝區
                if (data_part[l_ptr] < data_part[r_ptr]) {
                    buff_part[b_ptr] = data_part[l_ptr++];
                } else {
                    buff_part[b_ptr] = data_part[r_ptr++];
                }
            }
            b_ptr++;
        }
    }
    '''

    # 配置計算資源,編譯 OpenCL 程式
    ctx = cl.Context(dev_type=cl.device_type.GPU)
    prg = cl.Program(ctx, CL_CODE).build()
    queue = cl.CommandQueue(ctx)
    mf = cl.mem_flags

    # 資料轉換成 numpy 形式以利轉換為 OpenCL Buffer
    data_np = np.int64(data_in)
    buff_np = np.empty_like(data_np)

    # 建立緩衝區,並且複製數值到緩衝區
    data = cl.Buffer(ctx, mf.READ_WRITE | mf.COPY_HOST_PTR, hostbuf=data_np)
    buff = cl.Buffer(ctx, mf.READ_WRITE | mf.COPY_HOST_PTR, hostbuf=buff_np)

    # 設定合併前初始狀態
    data_len = np.int32(len(data_np))
    chunk_size = np.int32(1)

    dump_step(data_np, chunk_size)
    while chunk_size < data_len:
        # 更新分組大小,每一回合變兩倍
        chunk_size <<= 1
        # 換算平行作業組數 
        group_size = ((data_len - 1) // chunk_size) + 1
        # 進行分組合併作業
        prg.merge(queue, (group_size,), (1,), chunk_size, data_len, data, buff)
        # 將合併結果作為下一回合的原始資料
        temp = data
        data = buff
        buff = temp
        # 顯示此回合狀態
        cl.enqueue_copy(queue, data_np, data)
        dump_step(data_np, chunk_size)

    queue.finish()
    data.release()
    buff.release()

def main():
    n = random.randint(5, 16)
    data = []
    for i in range(n):
        data.append(random.randint(1, 99))
    cl_merge_sort_sbs(data)

if __name__ == '__main__':
    main()

執行結果:

 --------------------------------------------------------------------------------------
 85 || 41 || 64 || 40 || 90 || 29 || 38 || 41 || 64 || 17 || 20 || 41 || 16 || 65 || 83
 --    --    --    --    --    --    --    --    --    --    --    --    --    --    --
 41    85 || 40    64 || 29    90 || 38    41 || 17    64 || 20    41 || 16    65 || 83
 --------    --------    --------    --------    --------    --------    --------    --
 40    41    64    85 || 29    38    41    90 || 17    20    41    64 || 16    65    83
 --------------------    --------------------    --------------------    --------------
 29    38    40    41    41    64    85    90 || 16    17    20    41    64    65    83
 --------------------------------------------    --------------------------------------
 16    17    20    29    38    40    41    41    41    64    64    65    83    85    90
 --------------------------------------------------------------------------------------

参见

參考文獻

  1. ^ 1.0 1.1 The OpenCL Specification. 
  2. ^ Android Devices With OpenCL support. Google Docs. ArrayFire. [April 28, 2015]. 
  3. ^ FreeBSD Graphics/OpenCL. FreeBSD. [December 23, 2015]. 
  4. ^ Conformant Products. Khronos Group. [May 9, 2015]. 
  5. ^ Khronos Launches Heterogeneous Computing Initiative (新闻稿). Khronos Group. 2008-06-16 [2008-06-18]. (原始内容存档于2008-06-20). 
  6. ^ OpenCL gets touted in Texas. MacWorld. 2008-11-20 [2009-06-12]. (原始内容存档于2009-02-18). 
  7. ^ The Khronos Group Releases OpenCL 1.0 Specification (新闻稿). Khronos Group. 2008-12-08 [2009-06-12]. (原始内容存档于2010-07-13). 
  8. ^ Khronos Drives Momentum of Parallel Computing Standard with Release of OpenCL 1.1 Specification (新闻稿). Khronos Group. 2010-06-14 [2010-10-13]. (原始内容存档于2010-09-23). 
  9. ^ Khronos Releases OpenCL 1.2 Specification. Khronos Group. November 15, 2011 [June 23, 2015]. 
  10. ^ Khronos Finalizes OpenCL 2.0 Specification for Heterogeneous Computing. Khronos Group. November 18, 2013 [February 10, 2014]. 
  11. ^ Khronos Releases OpenCL 2.1 and SPIR-V 1.0 Specifications for Heterogeneous Parallel Programming. Khronos Group. November 16, 2015 [November 16, 2015]. 
  12. ^ Khronos Releases OpenCL 2.2 With SPIR-V 1.2. Khronos Group. May 16, 2017. 
  13. ^ Breaking: OpenCL Merging Roadmap into Vulkan | PC Perspective. www.pcper.com. [May 17, 2017]. (原始内容存档于November 1, 2017). 
  14. ^ Clspv is a compiler for OpenCL C to Vulkan compute shaders, 2019-08-17 [2024-10-14] 
  15. ^ Vulkan Update SIGGRAPH 2019 (PDF). 
  16. ^ SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving – Phoronix. www.phoronix.com. 
  17. ^ Trevett, Neil. Khronos and OpenCL Overview EVS Workshop May19 (PDF). Khronos Group. May 23, 2019. 
  18. ^ OpenCL 3.0 Specification Finalized and Initial Khronos Open Source OpenCL SDK Released. September 30, 2020. 
  19. ^ OpenCL 3.0 Bringing Greater Flexibility, Async DMA Extensions. www.phoronix.com. 
  20. ^ Munshi, Aaftab; Howes, Lee; Sochaki, Barosz. The OpenCL C Specification Version: 3.0 Document Revision: V3.0.7 (PDF). Khronos OpenCL Working Group. Apr 27, 2020 [Apr 28, 2021]. (原始内容 (PDF)存档于September 20, 2020). 
  21. ^ Sochacki, Bartosz. The OpenCL C++ 1.0 Specification (PDF). Khronos OpenCL Working Group. Jul 19, 2019 [Jul 19, 2019]. 
  22. ^ C++ for OpenCL, OpenCL-Guide. GitHub. [2021-04-18] (英语). 
  23. ^ Release of Documentation of C++ for OpenCL kernel language, version 1.0, revision 1 · KhronosGroup/OpenCL-Docs. GitHub. December 2020 [2021-04-18] (英语). 
  24. ^ Trevett, Neil. State of the Union: OpenCL Working Group (PDF): 9. 2021. 
  25. ^ The C++ for OpenCL 1.0 and 2021 Programming Language Documentation. Khronos OpenCL Working Group. Dec 20, 2021 [Dec 2, 2022]. 
  26. ^ Using Semaphore and Memory Sharing Extensions for Vulkan Interop with NVIDIA OpenCL. February 24, 2022. 
  27. ^ OpenCL 3.0.14 Released with New Extension for Command Buffer Multi-Device. 
  28. ^ OpenCL (PDF). SIGGRAPH2008. 2008-08-14 [2008-08-14]. (原始内容 (PDF)存档于2012-03-19). 
  29. ^ Fitting FFT onto G80 Architecture (PDF). Vasily Volkov and Brian Kazian, UC Berkeley CS258 project report. May 2008 [2008-11-14]. (原始内容存档 (PDF)于2012-03-19). 
  30. ^ . OpenCL on FFT. Apple. 16 Nov 2009 [2009-12-07]. (原始内容存档于2009-11-30). 

外部連結

Read other articles:

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) The article's lead section may need to be rewritten. Please help improve the lead and read the lead layout guide. (August 2012) (Learn how and when to remove this template message) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be cha...

 

  Grand Prix Catalan 2018Detail lombaLomba ke 7 dari 19Grand Prix Sepeda Motor musim 2018Tanggal17 Juni 2018Nama resmiGran Premi Monster Energy de Catalunya[1]LokasiCircuit de Barcelona-Catalunya, Montmeló, SpanyolSirkuitFasilitas balapan permanen4.627 km (2.875 mi)MotoGPPole positionPembalap Jorge Lorenzo DucatiCatatan waktu 1:38.680 Putaran tercepatPembalap Jorge Lorenzo DucatiCatatan waktu 1:40.021 di lap 9 PodiumPertama Jorge Lorenzo DucatiKedua Marc Márquez ...

 

العلاقات البولندية الجنوب سودانية بولندا جنوب السودان   بولندا   جنوب السودان تعديل مصدري - تعديل   العلاقات البولندية الجنوب سودانية هي العلاقات الثنائية التي تجمع بين بولندا وجنوب السودان.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة وم�...

Indian politician and economist (1898–1998) Gulzarilal NandaInterim Prime Minister of IndiaIn office11 January 1966 – 24 January 1966PresidentSarvepalli RadhakrishnanVice PresidentZakir HusainPreceded byLal Bahadur ShastriSucceeded byIndira GandhiIn office27 May 1964 – 9 June 1964PresidentSarvepalli RadhakrishnanVice PresidentZakir HussainPreceded byJawaharlal NehruSucceeded byLal Bahadur ShastriMinister of Home AffairsIn office29 August 1963 – 14 Novemb...

 

Polar StarSampul CD sajaLagu oleh F.T. IslandDirilis28 November 2012 (2012-11-28)FormatCD single, unduhan digitalDirekam2012GenreRockDurasi4:04LabelWarner Music JapanPenciptaHiroki Horiko Templat:Contains Japanese text Polar Star adalah lagu dari band rock asal Korea Selatan F.T. Island. Singel ini merupakan singel kesembilan mereka di bawah Warner Music Japan dan singel ke-12 secara keseluruhan di Jepang. Lagu ini ditulis dan disusun oleh Hiroki Horiko. Singel ini dirilis pada tanggal 2...

 

Kegiun KaribiaLegión del CaribeFidel Castro (kanan), seorang anggota penting dari Legiun KaribiaWaktu operasi1946–1950 Legiun Karibia (Spanyol: Legión del Caribe) adalah nama dari kelompok para pemimpin, pengasingan dan revolusioner Amerika Latin pregresif dengan tujuan menggulingkan kediktatoran di sepanjang Amerika Tengah dan menggantikannya dengan pemerintahan demokratis. Para anggota dari Legiun tersebut datang dari sebagian besar negara di Amerika Latin, meskipun jumlah terb...

Simon Ngapandouetnbu Ngapandouetnbu pada tahun 2021Informasi pribadiNama lengkap Simon Brady Ngapandouetnbu[1]Tanggal lahir 12 April 2003 (umur 21)Tempat lahir Foumban, KamerunTinggi 186 cm (6 ft 1 in)[1]Posisi bermain Penjaga gawangInformasi klubKlub saat ini MarseilleNomor 1Karier junior2011–2013 ASPTT Marseille2013–2014 ASMJ Blancarde2014–2019 MarseilleKarier senior*Tahun Tim Tampil (Gol)2019– Marseille B 24 (0)2019– Marseille 0 (0) * Penampil...

 

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (March 2013) (Learn how and when to remove this template message) Torta del CasarCountry of originSpainRegion, townCasar de Caceres, CaceresRegionExtremaduraSource of milkSheepPasteurisedNoTextureSemi-hardAging time60 days minimumCertificationprotected-origin status 2003Named af...

 

American monthly interior design and landscaping magazine Architectural DigestJanuary 2020 cover, highlighting the magazine's 100th anniversaryEditorAmy AstleyCategoriesInterior designFrequencyMonthlyTotal circulation(2013)814,959[1]Founded1920; 104 years ago (1920)CompanyCondé NastCountryUnited StatesBased inNew York CityLanguageEnglishWebsitearchitecturaldigest.comISSN0003-8520 Architectural Digest (stylized in all caps) is an American monthly magazine founded in ...

Pour les articles homonymes, voir Phase. Phase L'oscillation d'un pendule est périodique vis-à-vis du temps ; la phase est alors une fonction du temps.Données clés Unités SI 1 Autres unités radian (rad) Dimension 1 {\displaystyle 1} Nature Grandeur scalaire Symbole usuel ϕ , Φ {\displaystyle \mathrm {\phi } ,\Phi } modifier En physique, la phase d'une fonction périodique est l'argument de cette fonction, noté souvent Φ {\displaystyle \Phi } . Elle est défin...

 

Vous lisez un « article de qualité » labellisé en 2007. Richesse des nations Édition de Londres (1776) de la Richesse des nations Auteur Adam Smith Pays Royaume-Uni Genre Économie Éditeur W. Strahan and t. Cadell, Londres Date de parution 1776 modifier  Recherches sur la nature et les causes de la richesse des nations (en anglais, An Inquiry into the Nature and Causes of the Wealth of Nations), ou plus simplement la Richesse des nations, est le plus célèbre ouvra...

 

 烏克蘭總理Прем'єр-міністр України烏克蘭國徽現任杰尼斯·什米加尔自2020年3月4日任命者烏克蘭總統任期總統任命首任維托爾德·福金设立1991年11月后继职位無网站www.kmu.gov.ua/control/en/(英文) 乌克兰 乌克兰政府与政治系列条目 宪法 政府 总统 弗拉基米尔·泽连斯基 總統辦公室 国家安全与国防事务委员会 总统代表(英语:Representatives of the President of Ukraine) 总...

Pour les articles homonymes, voir Horváth. Ödön von Horváth Ödön von Horváth en 1919 Données clés Naissance 9 décembre 1901 Fiume, Autriche-Hongrie Décès 1er juin 1938 (à 36 ans) Paris, France Activité principale Dramaturge, romancier Auteur Langue d’écriture allemand Genres Théâtre, roman Œuvres principales Casimir et Caroline Figaro divorce Jeunesse sans dieu Un fils de notre temps modifier Ödön von Horváth est un dramaturge et romancier de langue allemande né ...

 

واد الحمام (جبل) الموقع  إسرائيل المنطقة الجليل،  والمنطقة الشمالية  إحداثيات 32°49′26″N 35°30′25″E / 32.824°N 35.507°E / 32.824; 35.507   الارتفاع 181 متر (594 قدم) السلسلة الجليل الأسفل  النتوء 380 متر (1,250 قدم) تعديل مصدري - تعديل   واد الحمام (بالعبرية: הר ארבל‏...

 

 GP d'Italia 2016 874º GP della storia del Motomondiale6ª prova su 18 del 2016 Data 22 maggio 2016 Nome ufficiale Gran Premio d'Italia TIM Luogo Autodromo del Mugello Percorso 5,245 km Risultati MotoGP 248º GP nella storia della classe Distanza 23 giri, totale 120,635 km Pole position Giro veloce Valentino Rossi Andrea Iannone Yamaha in 1:46.504 Ducati in 1:47.687 (nel giro 23 di 23) Podio 1. Jorge LorenzoYamaha 2. Marc MárquezHonda 3. Andrea IannoneDucati Moto2 110º GP nella stori...

Cet article est une ébauche concernant les armes et la Seconde Guerre mondiale. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Une bombe Grand Slam de dix tonnes ; une des bombes qui utilise du torpex. Le torpex (contraction de « torpedo explosive ») est un explosif qui est, à masse égale, 50 % plus puissant que le TNT. Composé de RDX (à 42 %), de TNT (à 40 %) et de poudre ...

 

Theological movement This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Neo-Calvinism – news · newspapers · books · scholar · JSTOR (September 2024) (Learn how and when to remove this message) This article is about the Dutch Calvinist movement. For the movement that emerged in the late-20th-century United State...

 

米国国家規格協会American National Standards Institute 略称 ANSI設立 1918年5月14日 (106年前) (1918-05-14)[1]目的 標準化団体本部 アメリカ合衆国 ワシントンD.C.会員数 12万5000社、350万人[2]公用語 英語ウェブサイト www.ansi.orgテンプレートを表示 米国国家規格協会(べいこくこっかきかくきょうかい、(英: American National Standards Institute)は、アメリカ合衆国の国内に...

US Air Force strategic bomber (1955–present) B-52 and BUFF redirect here. For other uses, see B-52 (disambiguation) and BUFF (disambiguation). B-52 Stratofortress A B-52H from Barksdale AFB flying over TexasGeneral informationTypeStrategic heavy bomberNational originUnited StatesManufacturerBoeingPrimary usersUnited States Air Force NASA (historical) Number built744[1]HistoryManufactured1952–1962Introduction dateFebruary 1955First flight15 April 1952; 72 years ago...

 

Several theories in particle physics and cosmology related to superstring theory and M-theory String theory Fundamental objects String Cosmic string Brane D-brane Perturbative theory Bosonic Superstring (Type I, Type II, Heterotic) Non-perturbative results S-duality T-duality U-duality M-theory F-theory AdS/CFT correspondence Phenomenology Phenomenology Cosmology Landscape Mathematics Geometric Langlands correspondence Mirror symmetry Monstrous moonshine Vertex algebra K-theory Related concep...